var name="dd";
var object = {
name:"my object",
getNameFunc:function(){
return function(){
return this.name;
};
}
};
console.log(object.getNameFunc()());//false
这个程序,就这样执行,结果是undifined。如果把这条语句:var name="dd"; 的var去掉,输出结果是dd。
我的分析:this指的对象是调用使用this的对象,那么就是getNameFunc,由于他没有定义name ,所以根据this的规则,应该去指向一个全局变量,最后找到最上面的name.不加var,默认是全局变量没错。但是如果是var name="dd"; 写在函数外面,不是也是全局变量?我这样想有什么问题嘛
this 指向问题
用的是什么语言?很多语言都有var关键字的
– 左眼水星 6年前@左眼水星: javascript
– 是雕 6年前