如下代码,我们都知道下面的this指向,一个是obj,一个在不是严格模式下,指向window,输出a,b ,我想请问下,如何让person()也输出b?我一直想不通,这个this如何指向obj?
var fullname = 'a';
var obj = {
fullname: 'b',
getFullname: function() {
return this.fullname;
}
}
var person = obj.getFullname
console.log(obj.getFullname()) // b
console.log(person()) // a
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你这种情况,只能用
bind,call,apply来搞函数执行过程中的调用位置决定了this绑定的对象
函数执行过程中的调用位置决定了this绑定的对象,调用者属于某个对象的话,this指向对象,直接调用的话,非严格模式下指向window
推荐题主阅读这篇文章前端基础进阶(五):全方位解读this,深的我心啊