首页 > 代码库 > 函数内部的函数中的this都是指向window
函数内部的函数中的this都是指向window
刚看到一个问题关于this的,
1 var name="the window";2 var object={3 name:"silence",4 packname:function(){5 return this.name;6 }7 }8 console.log(object.packname());
一般而言,在Javascript中,this指向函数执行时的当前对象。这个this指object。输出结果为 silence
改变一下
1 var name="the window";2 var object={3 name:"silence",4 packname:function(){5 return this.name;6 }7 }8 var show=object.packname;9 console.log(show());
当没有明确的执行时的当前对象时,this指向全局对象window。
这里show=object.packname;show();这里show没有明确的指明执行对象,所以等同于 window.show();结果是 the window
再改一下
1 var name="the window"; 2 var silence={ 3 name:"silence", 4 packname:function(){ 5 return this.name; 6 } 7 } 8 var seraph={ 9 name:"seraph",10 packname:function(){11 var fun=silence.packname;12 return fun();13 }14 }15 console.log(seraph.packname());
与2类似,fun();得到the window,fun()可以看出函数内部的函数指向window。我是这样理解的。
函数内部的函数中的this都是指向window
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。