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