當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript 2 基本语法
生活随笔
收集整理的這篇文章主要介紹了
JavaScript 2 基本语法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.6 對象
英文名稱:Object 一切皆對象
由key:value對構(gòu)成
- value可以是變量、數(shù)組、對象、函數(shù)等
- 函數(shù)定義中的this用來引用該函數(shù)的“擁有者”
對象屬性與函數(shù)的調(diào)用方式:
- person.name、person.add_money()
- person[“name”]、person"add_money"
1.7 數(shù)組
數(shù)組是一種特殊的對象。
類似于C++中的數(shù)組,但是數(shù)組中的元素類型可以不同
- 數(shù)組中的元素可以是變量、數(shù)組、對象、函數(shù)
訪問數(shù)組中的元素
通過下標
a[0] = 1; // 訪問數(shù)組a[]的第0個元素 console.log(a[0]);數(shù)組的常用屬性和函數(shù)
- 屬性length:返回數(shù)組長度。注意length是屬性,不是函數(shù),因此調(diào)用的時候不要加()
- 函數(shù)push():向數(shù)組末尾添加元素
- 函數(shù)pop():刪除數(shù)組末尾的元素
- 函數(shù)splice(a, b):刪除從a開始的b個元素
- 函數(shù)sort():將整個數(shù)組從小到大排序
- 自定義比較函數(shù):array.sort(cmp),函數(shù)cmp輸入兩個需要比較的元素,返回一個實數(shù),負數(shù)表示第一個參數(shù)小于第二個參數(shù),0表示相等,正數(shù)表示大于。
1.8 函數(shù)
- 定義方式
- 返回值
如果未定義返回值,則返回undefined。
1.9 類
與C++中的Class類似。但是不存在私有成員。
- this指向類的實例
定義
class Point {constructor(x, y) { // 構(gòu)造函數(shù)this.x = x; // 成員變量this.y = y;this.init();}init() {this.sum = this.x + this.y; // 成員變量可以在任意的成員函數(shù)中定義}toString() { // 成員函數(shù)return '(' + this.x + ', ' + this.y + ')';} }let p = new Point(3, 4); console.log(p.toString());繼承
class ColorPoint extends Point {constructor(x, y, color) {super(x, y); // 這里的super表示父類的構(gòu)造函數(shù)this.color = color;}toString() {return this.color + ' ' + super.toString(); // 調(diào)用父類的toString()} }- super這個關(guān)鍵字,既可以當(dāng)作函數(shù)使用,也可以當(dāng)作對象使用。
- 作為函數(shù)調(diào)用時,代表父類的構(gòu)造函數(shù),且只能用在子類的構(gòu)造函數(shù)之中。
- super作為對象時,指向父類的原型對象。
- 在子類的構(gòu)造函數(shù)中,只有調(diào)用super之后,才可以使用this關(guān)鍵字。
- 成員重名時,子類的成員會覆蓋父類的成員。類似于C++中的多態(tài)。
靜態(tài)方法
在成員函數(shù)前添加static關(guān)鍵字即可。靜態(tài)方法不會被類的實例繼承,只能通過類來調(diào)用。例如:
class Point {constructor(x, y) {this.x = x;this.y = y;}toString() {return '(' + this.x + ', ' + this.y + ')';}static print_class_name() {console.log("Point");} }let p = new Point(1, 2); Point.print_class_name(); p.print_class_name(); // 會報錯靜態(tài)變量
在ES6中,只能通過class.propname定義和訪問。例如:
class Point {constructor(x, y) {this.x = x;this.y = y;Point.cnt++;}toString() {return '(' + this.x + ', ' + this.y + ')';} }Point.cnt = 0;let p = new Point(1, 2); let q = new Point(3, 4);console.log(Point.cnt);1.10 事件
JavaScript的代碼一般通過事件觸發(fā)。
可以通過addEventListener函數(shù)為元素綁定事件的觸發(fā)函數(shù)。
常見的觸發(fā)函數(shù)有:
鼠標
- click:鼠標左鍵點擊
- dblclick:鼠標左鍵雙擊
- contextmenu:鼠標右鍵點擊
- mousedown:鼠標按下,包括左鍵、滾輪、右鍵
- event.button:0表示左鍵,1表示中鍵,2表示右鍵
- mouseup:鼠標彈起,包括左鍵、滾輪、右鍵
- event.button:0表示左鍵,1表示中鍵,2表示右鍵
鍵盤
- keydown:某個鍵是否被按住,事件會連續(xù)觸發(fā)
- event.code:返回按的是哪個鍵
- event.altKey、event.ctrlKey、event.shiftKey分別表示是否同時按下了alt、ctrl、shift鍵。
- keyup:某個按鍵是否被釋放
- event常用屬性同上
- keypress:緊跟在keydown事件后觸發(fā),只有按下字符鍵時觸發(fā)。適用于判定用戶輸入的字符。
- event常用屬性同上
keydown、keyup、keypress的關(guān)系類似于鼠標的mousedown、mouseup、click
- event常用屬性同上
表單
- focus:聚焦某個元素
- blur:取消聚焦某個元素
- change:某個元素的內(nèi)容發(fā)生了改變
窗口
需要作用到window元素上。
- resize:當(dāng)窗口大小放生變化
- scroll:滾動指定的元素
- load:當(dāng)元素被加載完成
總結(jié)
以上是生活随笔為你收集整理的JavaScript 2 基本语法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈电气火灾监控系统在大学公寓中的应用
- 下一篇: javascript——记忆小便签