①字符串是不可变的,数组是可变的。字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。而数组的成员函数都是在其原始值上进行操作。
②数组有一个字符串没有的可变更成员函数reserve()。
方法一:先将字符串转化为数组,待处理完后再将结果转化回字符串:
split()方法将一个字符串拆成字符并返回一个数组
reverse()方法使数组反转
join()方法将数组中的所有元素边接成一个字符串
var a="foo"
var b=a.split("")//转化为字符串数组
.reverse()//进行反转
.join("")//数组中的字符拼接回字符串
方法二:把字符串中的字符倒序存入数组,再将数组转化为字符串:
var newString = []
for(var i = a.length-1,j = 0i >= 0i --,j ++){
newString[j] = a[i]
}
newString.join()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<style type="text/css">
body{
font-size:12px
color:#663300
}
</style>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Quan Wen">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT Language="Javascript">
function do_change()
{
var str = document.myform.mytext.value
var len = document.myform.mytext.value.length
var i
var mystr = ""
for (i=len-1i>=0i--)
{
mystr += str.charAt(i)
}
document.myform.changetext.value = mystr
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="myform" action="a.html" method="POST">
<TABLE border="0">
<TR>
<TD>
你的输入:
</TD>
<TD>
倒序输出:
</TD>
</TR>
<TR>
<TD>
<TEXTAREA type="text" name="mytext"></TEXTAREA>
</TD>
<TD>
<TEXTAREA type="text" name="changetext" disabled></TEXTAREA>
</TD>
</TR>
<TR>
<TD colspan="2">
<INPUT type="button" onClick="do_change()" name="Change" value="倒序输出">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>