一开始,我必须告诉大家,我是一个新手,很抱歉我问了一个如此愚蠢的问题,第二,.extract只是一个例子。
以下是代码
String.prototype.extract=function(start,end){
var value=this;
var rval="";
for(var i=start; i<=end; i++){
rval+=value.charAt(i)
}
????? = rval;
}
var str="abcdef";
str.extract(1,4)
alert(str) //must be bcde现在我需要方法extract (str)的调用者,并且rval的值必须保存到其中。
我可以这样做:在函数return rval中使用str = str.extract;
但我希望我们以something.toUpperCase而不是something=something.toUpperCase的身份这样做
?必须替换为方法extract (str)的调用方
任何帮助都是有用的
发布于 2014-07-12 17:09:03
处理这个问题的最好方法是使用回调。
重用您的代码,它将如下所示:
String.prototype.extract=function(start,end, callback){
var value=this;
var rval="";
for(var i=start; i<=end; i++){
rval+=value.charAt(i)
}
callback(rval);
}
var str="abcdef";
str.extract(1,4, function(s1) {
alert(s1) //must be bcde
});另一种处理方法是简单地返回值,并将其重新赋值给原始变量。
String.prototype.extract=function(start,end, callback){
var value=this;
var rval="";
for(var i=start; i<=end; i++){
rval+=value.charAt(i)
}
return rval;
}
var str="abcdef";
str = str.extract(1,4);
alert(str) //must be bcdehttps://stackoverflow.com/questions/24711400
复制相似问题