javascript - 一个闭包匿名题目,疑问this消失了么?
本文介绍了javascript - 一个闭包匿名题目,疑问this消失了么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var test='global';
var c=function(){
var test='test';
return {
pre:function(){
console.log(this.test);
return 'ste';
}
}
}();
console.log(c.pre());
这个结果为何是
undefined
ste
这个undefined 是如何出现的,我的理解
题目中c.pre(),不应该是作为属性调用,将pre的作用域挂钩到c的objec上么
解决方案
this 指向 {
pre:function(){
console.log(this.test);
return 'ste';
} 这个对象,这里面的 test=undefined;
如果写错这样: return {
test:2,
pre:function(){
console.log(this.test);
return 'ste';
}
}
你再看哈效果
这篇关于javascript - 一个闭包匿名题目,疑问this消失了么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文