[英]Javascript using prototype how can I set the value of “this” for a number?
因此,如果我們能夠克服“應該嗎?” 問題...有人知道如何在原型中設置整數的值嗎?
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);
您會注意到rad.add(10)返回變量“ rad”加上10所包含的數字,但是我真的很想從原型添加函數中更改rad的值(我知道這一點。value。(newVal)無法完成)。
能做到嗎? 如果是這樣,怎么辦?
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);
本質上你不能,數字,布爾值和字符串是不可變的
JavaScript同時具有數字基元和Number
對象。 數字基元是不可變的(就像JavaScript中的所有基元一樣)。 Number
對象的數值也是不可變的。 因此,您的add
方法只能返回更新后的值。 當然,您可以創建一個具有可變值的數字對象。
關於號碼不變性和您自己的號碼對象的詳細信息在另一個答案中 ( 回答時 並沒有意識到那個問題是重復的) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.