我想扩展Number
一个plusPlus2
将数字增加2的函数。
问题是我不知道如何将结果分配回扩展功能中的数字。就像是:
Number.prototype.plusPlus2 = function() {
this = this + 2;
}
用法是:
x = 1;
x.plusPlus2(); // expect x to be 3
在JavaScript中,基元(数字,字符串,布尔值)是不可变的。
因此,无论何时更改基元,都需要将其分配给另一个变量(甚至将其重新分配给自身)。
话虽如此,您不能做您建议的事情,需要返回一个新值,其中包含您想要的值,假设:
Number.prototype.plusplus2 = function() {
return this + 2;
}
然后重新分配它:
let x = 5;
x = x.plusplus2();
然后,您可能想知道:如何x++
工作?
答案是,x++
是的语法糖x = x + 1
,这意味着,实际上,您并没有在更改x
,而是在之前加上1x
并将其重新分配给自己。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句