我正在阅读有关 javascript 原型的内容,并且遇到了以下代码,该代码扩展了 Number 类以添加一个显示对象类型的函数
Number.prototype.toString = function() {
return typeof (this);
}
(123).toString(); //prints "object"
我读到可以使用该valueOf
函数获得原始表示
n = new Number(123);
typeof n.valueOf() // prints "number"
所以我试图在 toString 函数中获取 premitive 表示,例如
Number.prototype.toString = function() {
return typeof (this.valueOf());
}
(123).toString(); //prints "object"
我期待它返回 "number" ,但它打印了 "object" 。这是预期的行为还是我在两者之间遗漏了什么?
更新:Firebug 和 chrome 控制台为我打印“对象”,并且警报在两种情况下都显示数字 更新 2:这是一个错误。console.log ((123).toString()) 打印的数字