課程
/前端開發(fā)
/JavaScript
/JavaScript深入淺出
為什么最后new func返回的是b:100??????????
2016-10-18
源自:JavaScript深入淺出 6-4
正在回答
這個應(yīng)該是函數(shù)用途的問題了,如果foo()這樣寫,那函數(shù)本身就是當(dāng)做window的方法使用,如果new foo(),就相當(dāng)于把函數(shù)當(dāng)做一個類,實例化這個類,bind方法只是對于前者來說的,如果new一個實例的話來說bind沒有絲毫作用,相當(dāng)于是var func = foo; 只不過是把函數(shù)指針重新復(fù)制了一遍而已,那么傳入bind()的{a : 1}肯定也是沒用的。
我也搞不懂,func()得到的不是foo().bind({a:1})返回的fBound函數(shù)嗎?
對呀,new了一個實例對象基于func,但func又bind了foo函數(shù),為什么最終出來的是100那1呢?
因為這里返回的是一個對象,一個func實例對象
舉報
由淺入深學(xué)習(xí)JS語言特性,且解析JS常見誤區(qū),從入門到掌握
3 回答關(guān)于new了之后的返回值情況
1 回答為什么typeof(function(){ }) 返回的是function
3 回答var func = new Function("console.log(typeof i);")
2 回答new Func(1,2)這是new一個什么? 這樣我再瀏覽器打出來不合法啊
1 回答假如此處man.age=100是賦值成功的,那console.log(man.age)會返回什么呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-03-07
這個應(yīng)該是函數(shù)用途的問題了,如果foo()這樣寫,那函數(shù)本身就是當(dāng)做window的方法使用,如果new foo(),就相當(dāng)于把函數(shù)當(dāng)做一個類,實例化這個類,bind方法只是對于前者來說的,如果new一個實例的話來說bind沒有絲毫作用,相當(dāng)于是var func = foo; 只不過是把函數(shù)指針重新復(fù)制了一遍而已,那么傳入bind()的{a : 1}肯定也是沒用的。
2016-12-03
我也搞不懂,func()得到的不是foo().bind({a:1})返回的fBound函數(shù)嗎?
2016-10-19
對呀,new了一個實例對象基于func,但func又bind了foo函數(shù),為什么最終出來的是100那1呢?
2016-10-19
因為這里返回的是一個對象,一個func實例對象