javascript中的字符串【详解】

文章目录

    • 例子
    • 字符串并不完全是“字符数组”,比如:
    • 借助数组函数来处理字符串。
    • 字符串与“字符数组”的不同点
    • 变通方法

例子

var a = ['f','o','o'];
var b = 'foo';

字符串并不完全是“字符数组”,比如:

a[1] = "a";
b[1] = "a";

a;//['f','a','o']
b;//"foo"

借助数组函数来处理字符串。

map()会将字符串转换为数组

b.join; //undefined;
b.map; //undefined;

var c = Array.prototype.join.call(b,"_");
var d = Array.prototype.map.call(b,function(v){
    return v.toUpperCase() + ".";
}).join("");

c; //"f-o-o"
d; //"F.O.O."

字符串与“字符数组”的不同点

但是有一个不同点,无法借助数组的reverse()进行反转:

b.reverse; //undefined;

a.reverse(); //['o','o','f']

var e = Array.prototype.reverse.call(b);
console.log(e); //Uncaught TypeError: Cannot assign to read only property '0' of object '[object String]'

变通方法

将字符串转换为数组,然后进行处理后通过join()转换为字符串。

var e = b.split("").reverse().join("");
console.log(e); //oof;

你可能感兴趣的:(你不知道的javascript,javascript,前端,开发语言)