黑马程序员技术交流社区
标题:
Js里自定义String功能反转,失败。求解哪里出了问题
[打印本页]
作者:
水果牛牛
时间:
2015-9-21 21:48
标题:
Js里自定义String功能反转,失败。求解哪里出了问题
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Untitled Document</title>
</head>
<body>
<script type="text/javascript" src="Out.js"></script>
<script type="text/javascript" src="StringTool.js"></script>
<script type="text/javascript">
//使用自定义并内化到String对象的方法toCharArray来将字符串变为字符数组。
var str="abcde";
var arr=str.toCharArray();
println(arr);
//使用自定义并内化到String对象的方法reverse来将字符串反转。
var reStr=str.reverse();
println("反转前:"+str);
println("反转后:"+reStr);
</script>
</body>
</html>
复制代码
上面是html代码,下面是封装在js文件里的自定义方法——reverse它的作用是把字符串反转,帮忙看看是哪里出错了,输出不了语句。
/**
* 字符串对象新功能,将字符串转成一个字符数组。
* 返回一个数组。
*/
String.prototype.toCharArray=function(){
var arr=new Array(this.length);
for(var i=0;i<arr.length;i++){
arr[i]=this.charAt(i);
}
return arr;
};
/**
* 字符串对象新功能,将字符串反转。
*/
String.prototype.reverse=function(){
var arr=this.toCharArray();
var str;
for(var start=0,end=arr.length-1;start<end;start++,end--){
var temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
}
for(var i=0;i<arr.length;i++){
str=str.concat(arr[i]);
}
return str;
};
复制代码
作者:
xiaoya0o0o
时间:
2015-9-21 21:48
把println改为 alert 把var str="" 把str=str.concat(arr[i]);改为str = str +arr[i]
作者:
水果牛牛
时间:
2015-9-22 09:40
xiaoya0o0o 发表于 2015-9-21 22:56
把println改为 alert 把var str="" 把str=str.concat(arr);改为str = str +arr
哇,真的可以。问一下为什么str=str.concat(arr);不可以呢,不是一样是连接字符串吗?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2