永发信息网

javascript中为什么: //this=arr.join("");//为什么这么写不可以呢?,详细请看下面

答案:2  悬赏:60  手机版
解决时间 2021-01-26 10:22
  • 提问者网友:嗝是迷路的屁
  • 2021-01-26 00:17
String.prototype.reverse=function(){

var arr=this.toStringArray();

function swap(arr,x,y){
var temp;
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}

for(var x=0,y=arr.length-1;x swap(arr,x,y);
}

// return arr.join("");
//this=arr.join("");//为什么这么写不可以呢?
}

原型方法求的是字符串对象反转。
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-01-26 00:57
因为在JavaScript中,this指的是调用函数的那个对象,即当前对象。在你贴出的代码中,this指的是String.prototype.reverse这个函数的“a,b,c,d”。以下代码供你理解参考:
String.prototype.reverse=function(){
var arr= this.split(",") //this.toStringArray();
function swap(arr,x,y){
var temp;
temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}

for(var x=0,y=arr.length-1;x swap(arr,x,y);
}
    //return arr.join("");
    this.string=arr.join("");//这里就这么写哦
return this.string;
}

document.write("a,b,c,d".reverse());
全部回答
  • 1楼网友:北方的南先生
  • 2021-01-26 01:34
arr把是javascript系统的东西,你ctrl+f搜索一下你的代码,里面可能有定义,看形式可能是一个类。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯