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

js作用域,上下文中一个小问题

js作用域,上下文中一个小问题

一只名叫tom的猫 2018-07-24 09:19:02
var x =1;     function foo() {       var x=10       function fn(){         console.log(this)//obj         console.log(this.x)//100         console.log(x)  //10?       }       obj= {         x:100,         show:(function (f) {           f.call(obj)           console.log('x:',x) //10?         })       }       obj.show(fn)     }     foo()这段代码this.x 是在上下文中的x 打印100我懂这个x指什么,为什么打印的是10? 我觉得这个x不应该默认是obj上下文中的x吗?
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

this是一个对象, this.x 就是访问this对象的x属性。 
console.log(x)中的x是变量,就是用 var x=10声明的变量

查看完整回答
反对 回复 2018-07-28
  • 1 回答
  • 0 关注
  • 572 浏览
慕课专栏
更多

添加回答

举报

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