永发信息网

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

答案:2  悬赏:60  手机版
解决时间 2021-01-26 10:22
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("");//为什么这么写不可以呢?
}

原型方法求的是字符串对象反转。
最佳答案
因为在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());
全部回答
arr把是javascript系统的东西,你ctrl+f搜索一下你的代码,里面可能有定义,看形式可能是一个类。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华通物流(071县道与308省道交叉口东南150米中
名爵zs这款车有没有gps车身稳定系统
怎样将网站通过腾讯QQ的安全验证?
已知a与b互为相反数,m=-(-2),求3m分之1加2008
徐州开发区人民检察院地址有知道的么?有点事
美利达公爵60015款多少速
【爱我所爱无怨无悔】爱我所爱我无怨无悔用英
有没有奸尸的小说
成语饰非养过的意思是什么啊?有知道释义的请
佳吉快运(兴县路)地址有知道的么?有点事想过
铜山区人民检察院司法警察大队地址好找么,我
患者,女,35岁,总担心发生与现实不符的危险
临近中考,小明家附近的工地每天都施工到深夜
XM外汇交易商是不是正规合法的
杭州D卡可以租公共自行车吗
推荐资讯
完成有关生物技术的安全性和伦理问题:(1)
不包括的英文缩写是啥?
脖子上的淋巴外表什么样
艺视眼镜配镜中心在哪里啊,我有事要去这个地
成语舞刀跃马的意思是什么啊?有知道释义的请
为什么肉色连裤袜穿起会泛白色 特别阳光照后
excel表可以插入图片,可是插入的图片可以和
我手机看动漫为什么有些时候会卡
若n是关于方程x^2+mx+2n=0的根,则m+n的取值
数学上的放大一定是按比放大吗?
天义网吧地址有知道的么?有点事想过去
舒泰洋货乳胶枕用久了会像其他枕头一样会凹陷
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?