首页 新闻 会员 周边

声明变量加var,不是全局变量嘛

0
[待解决问题]

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";  写在函数外面,不是也是全局变量?我这样想有什么问题嘛

是雕的主页 是雕 | 菜鸟二级 | 园豆:202
提问于:2018-08-07 14:51

用的是什么语言?很多语言都有var关键字的

左眼水星 5年前

@左眼水星: javascript

是雕 5年前
< >
分享
所有回答(1)
0

this  指向问题

Постой! | 园豆:1084 (小虾三级) | 2018-08-08 15:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册