勇闯极限
2016-10-18 23:09
为什么最后new func返回的是b:100??????????
这个应该是函数用途的问题了,如果foo()这样写,那函数本身就是当做window的方法使用,如果new foo(),就相当于把函数当做一个类,实例化这个类,bind方法只是对于前者来说的,如果new一个实例的话来说bind没有丝毫作用,相当于是var func = foo; 只不过是把函数指针重新复制了一遍而已,那么传入bind()的{a : 1}肯定也是没用的。
我也搞不懂,func()得到的不是foo().bind({a:1})返回的fBound函数吗?
对呀,new了一个实例对象基于func,但func又bind了foo函数,为什么最终出来的是100那1呢?
因为这里返回的是一个对象,一个func实例对象
JavaScript深入浅出
281112 学习 · 1020 问题
相似问题