關(guān)于bind的問(wèn)題
var defaultConfig = getConfig.bind(null,"#CC0000","1024*768");
我的問(wèn)題就是這里為什么要傳入一個(gè)null,又為什么明明是第一個(gè)參數(shù)位置,怎么沒(méi)傳給colors,卻傳給了this?
var defaultConfig = getConfig.bind(null,"#CC0000","1024*768");
我的問(wèn)題就是這里為什么要傳入一個(gè)null,又為什么明明是第一個(gè)參數(shù)位置,怎么沒(méi)傳給colors,卻傳給了this?
2015-05-03
舉報(bào)
2015-05-08
網(wǎng)上也查查資料....
2015-05-08
這里傳入null,是因?yàn)檫@里使用bind主要目的是為了用它的第二個(gè)參數(shù)之后的參數(shù)(參數(shù)currying,或者簡(jiǎn)單理解為將函數(shù)調(diào)用進(jìn)行拆分)
第一個(gè)參數(shù)是用來(lái)影響函數(shù)調(diào)用時(shí)的this值的,只是這個(gè)例子并不是講這個(gè)點(diǎn)的。
也就是第2~4個(gè)參數(shù),分別表示入?yún)⒌?~3,一一對(duì)應(yīng)。再仔細(xì)看看視頻吧。
2015-06-05
跟call和apply是一樣的道理吧,第一個(gè)要傳個(gè)對(duì)象,不需要對(duì)象值的時(shí)候就傳個(gè)null
2015-05-27
我理解bind綁定一個(gè)對(duì)象到一個(gè)對(duì)象上,第一個(gè)參數(shù)其實(shí)就是綁定的對(duì)象,當(dāng)為null的時(shí)候,默認(rèn)為全局。
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…}