所以我知道我可以做到这一点...
Number.prototype.square = function () { return this * this }
[Function]
4..square()
16
有没有办法继承 Number 函数,这样我就不必修改 Number 原型?对于函数或对象,我可以像这样继承......
var NewObject = new Object()
var NewFunction = new Function()
有没有可以用 Number 做类似的事情?
是的,您可以轻松地继承Number.prototype
。诀窍是通过给你的对象一个.valueOf
method:
function NumLib(n) {
if (!(this instanceof NumLib)) return new NumLib(n);
this.valueOf = function() {
return n;
}
}
NumLib.prototype = Object.create(Number.prototype);
NumLib.prototype.square = function () { return this * this }
每当对对象应用数学运算时就会发生转换,另请参见这个答案。当地人Number
不过,方法并不真正喜欢在派生对象上调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)