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