问题如图,我在想是不是因为严格模式的问题?还是?
你的这种情况类似于
var a = {func:function(){console.log(this)}};
var b = a.fuc;
函数直接赋值是没有this绑定的,在浏览器环境下指向window,严格模式下this是禁止指向全局变量的,因此你拿到的是undefined
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答837 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
5 回答2.3k 阅读
可以看到,你返回的是一个function,他已经没有了上下文。this是用来指代当前对象的,没有当前对象时,非严格模式是window。在严格模式中this不会指向window是undefined。