JavaScript

[JavaScript] 当this指向原始值

2016-12-22  本文已影响7人  何幻

问题描述

let a=1;
let fn=function(){return this;}

console.log(fn.call(1));  //Number {[[PrimitiveValue]]: 1}

语言规范

The thisArg value is passed without modification as the this value. This is a change from Edition 3, where an undefined or null thisArg is replaced with the global object and ToObject is applied to all other values and that result is passed as the this value. Even though the thisArg is passed without modification, non-strict functions still perform these transformations upon entry to the function.

Return a new Number object whose [[NumberData]] internal slot is set to the value of argument.

结论

this传入原始值时,会在原始值上调用ToObject,将原始值转换成相应的包装对象。

上一篇下一篇

猜你喜欢

热点阅读