Applying a Function to Null in Javascript

后端 未结 5 1453
误落风尘
误落风尘 2020-12-03 09:13

Why does the following work:

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

Why is result defined? I am invo

5条回答
  •  不知归路
    2020-12-03 09:37

    The first argument for Function.prototype.call is the context, which defines the this value for the execution context of the invoked function, nothing else.

    So basically, you're saying that this is referring to null (at least, in ES5 strict mode), but since you don't access this anyway, it makes no difference.

    In non-strict mode, this cannot be null, so it's replaced with the global object instead.

提交回复
热议问题