數組
都是用來調用函數,並且是當即調用app
可是能夠在調用函數的同時,經過第一個參數指定函數內部 this
的指向函數
call 調用的時候,參數必須以參數列表的形式進行傳遞,也就是以逗號分隔的方式依次傳遞便可this
apply 調用的時候,參數必須是一個數組,而後在執行的時候,會將數組內部的元素一個一個拿出來,與形參一一對應進行傳遞spa
若是第一個參數指定了 null
或者 undefined
則內部 this 指向 windowcode
bindit
能夠用來指定內部 this 的指向,而後生成一個改變了 this 指向的新的函數class
它和 call、apply 最大的區別是:bind 不會調用call
bind 支持傳遞參數,它的傳參方式比較特殊,一共有兩個位置能夠傳遞apply
在 bind 的同時,以參數列表的形式進行傳遞
在調用的時候,以參數列表的形式進行傳遞
那到底以誰 bind 的時候傳遞的參數爲準呢仍是以調用的時候傳遞的參數爲準
二者合併:bind 的時候傳遞的參數和調用的時候傳遞的參數會合併到一塊兒,傳遞到函數內部