JS实现字符串反转

JavaScript016

JS实现字符串反转,第1张

首先了解JavaScript中字符串和数组的区别:

①字符串是不可变的,数组是可变的。字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。而数组的成员函数都是在其原始值上进行操作。

②数组有一个字符串没有的可变更成员函数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>