所以,如果我们能够超越"你应该吗?"问题...有没有人知道如何在原型中设置整数的值?
Number.prototype.add = function(num){
var newVal = this.valueOf() + num;
this.valueOf(newVal);
return newVal;
}
var rad = 4001.23;
document.write(rad.add(10) + '<br/>' + rad);
&#13;
你会注意到rad.add(10)返回变量&#34; rad&#34;中包含的数字。加上10,但我真的想在原型添加函数中改变rad的值(我知道这个.valueOf(newVal)没有完成)。
可以这样做吗?如果是这样,怎么样?
答案 0 :(得分:1)
Number.prototype.add = function(num){
var newVal = this.valueOf() + num;
this.valueOf(newVal);
return newVal;
}
var rad = new Number(4001.23);
document.write(rad.add(10) + '<br/>' + rad);
&#13;
答案 1 :(得分:0)
基本上你不能,数字,布尔和字符串是不可变的
答案 2 :(得分:0)
JavaScript既有数字原语,也有Number
个对象。数字原语是不可变的(就像JavaScript中的所有原语一样)。 Number
对象的数值也是不可变的。因此,您的add
方法只能返回更新后的值。当然,您可以使用可变值创建自己的类似数字的对象。
Details about number immutability and your own number object in this other answer (在回答问题时没有意识到这个问题是重复的)。