call,apply,bind的區別。

類似之處:三者均可以改變this指向,第一個參數都是this指向,均可以使用後續參數傳參;數組

1.call:多個參數,第一個爲當前對象,其餘的爲參數列表;app

2.apply:有兩個對象,第一個爲當前對象,第二個對象是一個參數數組,即使只有一個參數也要寫爲數組格式;函數

3.bind():多個參數;與call類似,第一個爲this指向,其餘的爲調用函數的參數,區別爲bind不是當即執行,而call與apply是當即執行,bind能夠理解爲綁定,先綁着,它的返回值是一個參數,調用的時候執行,要想讓他像call與apply同樣使用,須要加一個自運行的括號,當bind綁定在一個函數時,函數被調用時,this的指向永遠是原來的this指向。this

相關文章
相關標籤/搜索