簡體   English   中英

使用原型的Javascript如何為數字設置“ this”的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM