这是一道昨天的面试题:varnum=10;varobj={num:8,inner:{num:6,print:function(){console.log("num:"+num+",this.num:"+this.num);}}}num=888;下面语句输出什么?obj.inner.print();varfn=obj.inner.print;fn();(obj.inner.print)();(obj.inner.print=obj.inner.print)();感谢解答~
2 回答
互换的青春
TA贡献1797条经验 获得超6个赞
1:8886(this为inner,this.num自然为6)2:888888(this指向window,this.num和num都是888)3:(obj.inner.print)();自执行函数等价于obj.inner.print()4:返回一个函数再调用,等价于(function(){})()所以this指向window
添加回答
举报
0/150
提交
取消