1. 程式人生 > >javascript中的bind()

javascript中的bind()

bind()方法在ECMAScript5中新定義的,這個方法會建立一個函式的例項,其this值會被繫結到傳給bind()函式的值,該函式可傳入兩個引數第一個引數作為this,第二個及以後的引數則作為函式的引數呼叫。具體作用如下:

1、建立繫結函式

就是當我們呼叫某些函式的時候是要在特定環境下才能呼叫到,所以我們就要把函式放在特定環境下,就是使用bind把函式繫結到特定的所需的環境下。

2、讓函式擁有預設的引數

使用bind()方法使函式擁有預設的初始引數,這些引數會排在最前面,傳給繫結函式的引數會跟在它們後面

3、setTineout()的使用

正常情況下,呼叫setTimeout的時候this會指向全域性物件,但是使用類的方法時我們需要指向類的例項,所以要把this,繫結要回調函式方便繼續使用例項

4、把類陣列轉換為陣列。

利用call和apply去實現轉換。

但是,個人理解,其常用作用是改變this的指向。

https://www.cnblogs.com/xxxxBW/p/4914567.html

同時,在jQuery中也有bind().