var a="foo";
var b=[ "f","o","o"];
a[1]="o";
b[1]="o";
javascript中字符串是不可变的,而数组是可变的,并且a[1]在javascript中并非总是合法语句,在老版本的IE中就不被允许(现在可以了).
正确的方法应该是a.charAt(1).
字符串调用数组的方法:
var c=Array.prototype.join.call(a,'-');
var d=Array.prototype.map.call(a,fucntion(){
return v.toUpperCase()+".";
}).join("");
c;// "f-o-o"
d;//"F.O.O"
字符串反转(数组中有反转函数reverse()而字符串中没有)
方法:
var c=a.split("").reverse().join("");
c;//'oof'
注意:上述方法对于包括复杂字符(Unicode,如星号,多字节字符等)字符串并不适用
如果需要经常以字符数组的方式处理字符串的话,倒不如直接使用数组,这样就不用来回折腾,可以在需要时使用join("")将字符数组转换为字符串。