ES6之this關鍵字和bind方法

2021-09-24 19:30:34 字數 991 閱讀 3018

this關鍵字

this可以用在建構函式之中,表示例項物件。除此之外,this還可以用在別的場合。但不管是什麼場合,this都有乙個共同點:它總是返回乙個物件。簡單說,this就是屬性或方法「當前」所在的物件。

var person = };

person.describe()// "姓名:張三"

上面**中,this.name表示name屬性所在的那個物件。由於this.name是在describe方法中呼叫,而describe方法所在的當前物件是person,因此this指向person,this.name就是person.name。

this主要有以下幾個使用場合

1.全域性環境

全域性環境使用this,它指的就是頂層物件window。例如:

function f() 

f() // true

注意:在嚴格模式下,普通函式內部 this 等於undefined。

2.建構函式

建構函式中的this,指的是例項物件。例如:

function person(p) ;

var obj = new person()

3.物件的方法

如果物件的方法裡面包含this,this的指向就是方法執行時所在的物件。例如:

var obj =};

console.log(obj.foo()) // obj

bind方法

bind方法用於將函式體內的this繫結到某個物件,然後返回乙個新函式。

var dog =

}var person =

var func = dog.wang.bind(person)

func();

//上面**將person繫結到了func函式內部

es6之let,const關鍵字

在es5中沒有塊級作用域,只有函式作用域和全域性作用域,例如不能成為乙個作用域,但在es6中可以 for var i 0 i 4 i console.log i i 4這是因為i是在全域性的,最後列印的是for迴圈裡面最後的結果。用let替換var則結果為not defined。for let i ...

ES6 之關鍵字 let

正如大家都熟悉的,我們平時在寫 的時候,用var 宣告乙個變數,除此之外,也再沒有接觸到其它的關鍵字了,不管我們宣告什麼樣型別得變數,都用var 搞定了,很方便,但是es6 告訴你,除了var,還可以試試 let 來宣告變數。那麼,既然var 方便,為什麼還要let 來宣告,這麼說 var 宣告 一...

ES6之關鍵字const

const是constant 常量 的縮寫,const和 let一樣,也是用來宣告變數的,但是const是專門用於宣告乙個常量的,顧名思義,常量的值是不可改變的。const的特點 1 不可更改 1 2 const name 張三 name 李四 錯誤,企圖修改常量name 2 只在塊級作用域起作用,...