javascript的疑问??
var foo = { bar:function(){ 优艾设计网_设计LOGOconsole.log(this); } } foo.bar(); (foo.bar)(); (foo.bar = foo.bar)();//window (foo.bar,foo.bar)();//window (false || foo.bar)();//window
谁帮忙解释下后三个为什么呀???
易水寒 优艾设计网_PS论坛 15小时前
此时foo.bar作为变量,还没有作为语句被计算过,还未丢失foo,调用的时候等同foo.bar().
米琪 15小时前 优艾设计网_设计
同上,作为语句被执行
anrdvre 15小时前 优艾设计网_在线设计
同上
qkoufu3917 15小时前
foo.bar = foo.bar是一个语句,调用时优艾设计网_PS百科执行该语句返回一个function,已丢失foo,又因为全局调用,所以this被赋值为当前全局对象。
我爱你到永远永远 15小时前 优艾设计网_设计百科
所以很多时候我们都是
有你一生荒魂散过度的颓废吾爱知 15小时前
简单来讲后三个函数调用左边不是内部引用类型,所以函数调用确定的 this 是 undefined,在非严格模式下内部会设置为 全局对象。具体看这优艾设计网_Photoshop百科篇博客 https://m2mbob.cn/2015/...
精彩评论