字符串
JavaScript的字符串用''
或""
括起来表示
如果字符串内部既包含'
又包含"
可以用转义字符\
来标识,比如:
'I\'m \"OK\"!';
表示的内容是:I'm "OK"!
转义字符\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
。
ASCII字符可以以\x##
形式的十六进制表示,例如:
'\x41'; // 等同于 'A'
还可以用\u####
表示一个Unicode字符:
'\u4e2d\u6587'; // 完全等同于 '中文'
字符串连接可以用+号或者用${变量名}替换比如:
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
字符串的方法
#.length 长度 同样也可以通过索引查看某个位置的字符
#.toUpperCase() 变成大写
#.toLowerCase() 变成小写
#.indexOf() 搜索字符出现位置
#.substring() 返回索引区间字符
数组方法
同样通过#.length查看长度 并且可以赋值例如:
var arr = [1, 2, 3];
arr.length; // 3 arr.length = 6; arr; // arr变为[1, 2, 3, undefined, undefined, undefined] arr.length = 2; arr; // arr变为[1, 2]
可以通过索引修改值,索引超过了范围,同样会引起Array
大小的变化:
var arr = [1, 2, 3];
arr[5] = 'x'; arr; // arr变为[1, 2, 3, undefined, undefined, 'x']
#.indexOf()查看元素位置,没有找到的返回-1
#.slice()就是对应String的substring()
版本,它截取Array
的部分元素,然后返回一个新的Array
如果不给slice()
传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array
:
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; var aCopy = arr.slice(); aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G'] aCopy === arr; // false
#.puh()向Array
的末尾添加若干元素,#.pop()则把Array
的最后一个元素删除掉并且返回:
#.unshift()
方法往Array
的头部添加若干元素,#.shift()
方法则把Array
的第一个元素删掉返回:
#.sort()方法排序, #.reverse()反转
#.sqlice()方法是修改Array
的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle']; // 从索引2开始删除3个元素,然后再添加两个元素: arr.splice(2, 3, 'Google', 'Facebook'); // 返回删除的元素 ['Yahoo', 'AOL', 'Excite'] arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle'] // 只删除,不添加: arr.splice(2, 2); // ['Google', 'Facebook'] arr; // ['Microsoft', 'Apple', 'Oracle'] // 只添加,不删除: arr.splice(2, 0, 'Google', 'Facebook'); // 返回[],因为没有删除任何元素 arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
#.concat把当前的Array
和另一个Array
连接起来,并返回一个新的Array
:
var arr = ['A', 'B', 'C'];
var added = arr.concat([1, 2, 3]); added; // ['A', 'B', 'C', 1, 2, 3] arr; // ['A', 'B', 'C']
请注意,concat()
方法并没有修改当前Array
,而是返回了一个新的Array
。
concat()
方法可以接收任意个元素和Array
,并且自动把Array
拆开,然后全部添加到新的Array
里:
var arr = ['A', 'B', 'C'];
arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]
#.join()
方法把当前Array
的每个元素都用指定的字符串连接起来,然后返回连接后的字符串:
var arr = ['A', 'B', 'C', 1, 2, 3]; arr.join('-'); // 'A-B-C-1-2-3'
如果Array
的元素不是字符串,将自动转换为字符串后再连接