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不應(yīng)該默認(rèn)是obj上下文中的x嗎?
js作用域,上下文中一個小問題
一只名叫tom的貓
2018-07-24 09:19:02