为了账号安全,请及时绑定邮箱和手机立即绑定

为什么没有定义全局变量,却能打印出数字

为什么没有定义全局变量,却能打印出数字

素胚勾勒不出你 2018-07-01 13:13:47
问题描述:下面代码中 var c=a.b;c(),c()在全局中调用,this指向window,而window下并没有定义name变量,为什么全局调用c()输出的是1而不是undefinedvar a={    name:2,   b:function(){     this.name++     console.log(this.name)     }  }  a.b()//3  var c=a.b  c()//1
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

var c=a.b的时候,this指向的是window,所以window下定义了一个全局的name

查看完整回答
反对 回复 2018-07-10
  • 3 回答
  • 0 关注
  • 226 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信