我想获得下一个功能:
var newString = String;
newString.prototype.reverse = function () {
return this.split("").reverse().join("")
}
var a = 'hello';
var b = newString('hello');
a.reverse();//reverse is not a function
b.reverse();//olleh
在添加函数之前尝试扩展.prototype并且不起作用,我甚至不知道它是否可行。
答案 0 :(得分:1)
您可以执行以下操作:
var newString = function(initialVal) {
var val = new String(initialVal);
val.reverse = function () {
return this.split("").reverse().join("")
};
return val;
};
var a = 'hello';
var b = newString('hello');
a.reverse();//reverse is not a function
b.reverse();//olleh
答案 1 :(得分:0)
听起来你正在寻找:
String.prototype.reverse = function () {
return this.split("").reverse().join("")
}
var a = 'hello';
alert(a.reverse());
请注意扩展内置对象,例如" String"充其量是备受争议的。