var user = {
count : 1,
getCount: function(){
return this.count;
}
}
var func = user.getCount
console.log(func())
var user = {
count : 1,
getCount: function(){
return this.count;
}
}
var func = user.getCount
console.log(func())
看清楚调用时。
user.getCount传递是引用传递。
实际上
func = function(){
return this.count;
}
此时再调用,则this指向全局window
this指针的问题,func()里面的this不是user对象,而是user.getCount函数本身,而user.getCount对象没有count属性,所以是undefined
var user = {
count : 1,
getCount: function(){
return user.count;
}
}
var func = user.getCount
console.log(func())
this指的是window
16 回答2.8k 阅读✓ 已解决
6 回答4.1k 阅读✓ 已解决
9 回答3.4k 阅读✓ 已解决
14 回答5.3k 阅读
7 回答1.7k 阅读
14 回答2k 阅读
3 回答985 阅读✓ 已解决
this
指向变了user.getCount()
这里的this
指向的user
这个对象但是,当你将他赋值给一个变量 执行
func()
的时候,在浏览器环境相当于window.func()