在开始时我必须告诉我,我是一个新手,并抱歉这样一个愚蠢的问题
其次,.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
现在我想要方法提取(str)的调用者,并且rval的值必须保存到那个。
我能做到:
str = str.extract;
在函数return rval
但我希望我们这样做something.toUpperCase
代替something=something.toUpperCase
?????必须由方法提取(str)的调用者替换
任何帮助都会有用
答案 0 :(得分:0)
处理此问题的最佳方法是使用回调。
重新使用您的代码,它看起来像:
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 bcde