①字符串是不可变的,数组是可变的。字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。而数组的成员函数都是在其原始值上进行操作。
②数组有一个字符串没有的可变更成员函数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()
一.字符串转化为Unicode编码//方法1:
var str = "\\u6211\\u662Funicode\\u7F16\\u7801"
str = eval("'" + str + "'")
str = unescape(str.replace(/\u/g, "%u"))方法2:// 包装为JSON
var dataJSON = '{"Unicode编码": "'+ "\u7F16" +'"}'
// 使用JSON工具转换
var objJSON = JSON.parse(dataJSON)
var unicode = objJSON["Unicode编码"]
console.log(unicode)// 中文全月空格//二.将汉字转化为 unicode编码
var str = "中文"
// 获取字符
var char0 = str.charAt(0)
console.log(char0)// "中"
// 数字编码值
var code = str.charCodeAt(0)
console.log(code)// 20013
// 编码互转
var str0 = String.fromCharCode(code)
console.log(str0)// "中"
// 转为16进制数组
var code16 = code.toString(16)
console.log(code16)// "4e2d"
// 变成字面量表示法
var ustr = "\\u"+code16
console.log("unicode编码",ustr )// "\u4e2d"