🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
看以下的代码,执行的结果是神马? ~~~ var fullname = 'Gudi'; var obj = { fullname: 'Peter', prop: { fullname: 'Mary', getFullname: function() { return this.fullname; } } }; console.log(obj.prop.getFullname()); var test = obj.prop.getFullname; console.log(test()); ~~~ 结果是: ~~~ Mary Gudi ~~~ this的指向不取决于如何调用,而是取决于谁去调用,也就是上下文是谁。 obj.prop.getFullname()调用的是prop对象内部的函数,因此this指向的就是这个prop对象。 var test = obj.prop.getFullname 是将这个方法赋值给了test变量,这个test变量的上下文是window,所以this.fullname指的就是Gudi **你明白了吗?**