關于bind的問題
var defaultConfig = getConfig.bind(null,"#CC0000","1024*768");
我的問題就是這里為什么要傳入一個null,又為什么明明是第一個參數(shù)位置,怎么沒傳給colors,卻傳給了this?
var defaultConfig = getConfig.bind(null,"#CC0000","1024*768");
我的問題就是這里為什么要傳入一個null,又為什么明明是第一個參數(shù)位置,怎么沒傳給colors,卻傳給了this?
2015-05-03
舉報
2015-05-08
網(wǎng)上也查查資料....
2015-05-08
這里傳入null,是因為這里使用bind主要目的是為了用它的第二個參數(shù)之后的參數(shù)(參數(shù)currying,或者簡單理解為將函數(shù)調(diào)用進行拆分)
第一個參數(shù)是用來影響函數(shù)調(diào)用時的this值的,只是這個例子并不是講這個點的。
也就是第2~4個參數(shù),分別表示入?yún)⒌?~3,一一對應。再仔細看看視頻吧。
2015-06-05
跟call和apply是一樣的道理吧,第一個要傳個對象,不需要對象值的時候就傳個null
2015-05-27
我理解bind綁定一個對象到一個對象上,第一個參數(shù)其實就是綁定的對象,當為null的時候,默認為全局。
function add(a,b,c){console.log(a,b,c,this);}
var a1=add.bind(null,1,2,3);
a1()
// 1 2 3 Window {top: Window, window: Window, location: Location, external: Object, chrome: Object…}