在单个数组对象上重写toString()Javascript
我有以下资料:在单个数组对象上重写toString()Javascript,javascript,overloading,jslint,Javascript,Overloading,Jslint,我有以下资料: var version = [0,3,0]; // Override the version toString method. version.__proto__.toString = function() { return this.join('.'); }; 下面哪一个是 version.toString => '0.3.0' JSlint抱怨说,\uuuu proto\uuu是一个保留名称-这是正确的 我想我的超载是错误的 我不想 Array.proto
var version = [0,3,0];
// Override the version toString method.
version.__proto__.toString = function() {
return this.join('.');
};
下面哪一个是
version.toString => '0.3.0'
JSlint抱怨说,\uuuu proto\uuu
是一个保留名称-这是正确的
我想我的超载是错误的
我不想
Array.prototype.toString
因为这将覆盖所有要替换的数组,所以使用。?直接在数组上设置方法:
var version = [0,3,0];
// Override the version toString method.
version.toString = function() {
return this.join('.');
};
谢谢让自己变得更复杂<代码>[]。\uuuuu proto\uuuuuu.toString==Array.prototype.toString@katspaugh-属性“\uuuu proto\uuuuuuuuu”不可更改,但“prototype”不可更改。在某些情况下,你的比较并不总是真实的。一些JavaScript主动使用这种行为(例如ExtJS)