var num1 = new Number(5);
typeof(num1); //returns "object"
num1.toString(); //returns "5"
我知道num1
作为对象具有属性.__proto__
,通过它通过访问原型(.toString()
)链可以访问.__proto__
。
var num = 5;
typeof(num); //returns "number"
num.toString(); //returns "5"
在上述情况下,num是原始类型number
。这意味着它将没有任何属性和方法。那么如何获得对.toString()
方法的访问?
答案 0 :(得分:3)
这意味着它将没有任何属性和方法。
当涉及到基元时,Javascript具有称为强制的属性。它会悄悄地将原语转换为任何对象,然后访问新构造的数字对象的原型方法。
答案 1 :(得分:1)
Javascript在原语和对象之间强制转换。在这种情况下,数字会转换为对象以访问字符串。
您可以使用
获取对象//tweaking the to string
Number.prototype.toString = function() {
return typeof this;
}
var num = 5;
typeof(num);
num.toString(); //returns "object"