我可以使用+/-等扩展对象吗?
我尝试使用运算符扩展本机对象。有用。你能想到会有副作用吗?
Number.prototype['+++'] = function(n){
return this + (2*n);
};
String.prototype['+'] = function(){
return this += [].slice.call(arguments).join('');
}
alert( 10['+++'](10) ); //=> 30
alert( 'hello '['+']('world ','and ','see you later!') );
//=> hello world and see you later!
另见这个jsfiddle
没有找到相关结果
已邀请:
3 个回复
谷靛
茬贺努充尽
诫商
是的,做这样的事情有副作用 - 它使你的代码不可读。当你想出这个计划时,你到底吸烟了什么? 此外,您所做的与运营商无关。您只是创建一个名称恰好是“+”或“+++”的对象属性。如果解释器认为它是运算符,则“+”字符只是运算符。如果它在字符串文字中,那么它只是另一个字符。