在 Javascript 中将函数应用于 Null

2024-04-11

为什么以下工作有效:

function sum(a,b) { return a + b; }
var result = sum.call(null,3,4);     // 7

为什么要定义结果?我调用 sum 作为 null 的方法。但 null 不是对象,不能有属性!

到底是怎么回事?


第一个论点Function.prototype.call is the context,它定义了this被调用函数的执行上下文的值,仅此而已。

所以基本上,你是说this指的是null(至少,在 ES5 严格模式下),但是因为你不访问this无论如何,这没有什么区别。

在非严格模式下,this不可能是null,所以它被替换为全局对象反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Javascript 中将函数应用于 Null 的相关文章

随机推荐