获取标识符

时间:2014-07-12 09:06:26

标签: javascript

在开始时我必须告诉我,我是一个新手,并抱歉这样一个愚蠢的问题 其次,.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)的调用者替换

任何帮助都会有用

1 个答案:

答案 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
相关问题