字符串
多行字符串
用反引号`表示,如
`A
B
C`
模板字符串
var s = 'hello,${var1}'
求长度
s.length
变成大/小写
s.toUpperCase()
s.toLowerCase()
子串下标
s.indexOf(subStr)
求子串
s.subString(begin,end)
拆分
s.split§
注意p可以是正则表达式
数组
定义
var arr = [1,2,3];
注意,js数组访问是可以越界的,如使用
arr[5] = 5;
会返回 arr = [1,2,3,undefined,undefined,5]
元素位置
arr.indexOf(elem)
求子数组
arr.slice(begin,end)
向后面添加/删除元素
arr.push(elem)
arr.pop()
向前面添加/删除元素
arr.unshift(elem)
arr.shift()
排序
s.sort()
逆序
s.reverse()
从指定位置删除元素后再添加元素
arr.splice(begin,num,elems)
若arr=[1,2,3,4,5],arr.splice(2,2,‘A’,‘B’)表示从第二个元素开始删除两个元素,并添加’A’,'B’两个元素到该位置。
返回
arr=[1,2,‘A’,‘B’,5]
合并数组
arr.concat(arr2)
若arr = [1,2,3],arr2=[3,4],合并后返回arr=[1,2,3,3,4]
用字符合并
arr.join(char)
若arr=[1,2,3],arr.join(’-’),则返回s=‘1-2-3’
对象
js中的对象类似与python中的字典,有一点不同的是,比如
var obj = {name:'xiaoming'}
等价于
var obj = {'name':'xiaoming'}
访问name时,可以使用obj.name或者obj[‘name’]
另外,也可以定义方法:
var obj = {name:function(...){...}}
循环
for
可以用
for(var i=0;i<100;i++)
或者
for (var i in [1,2,3])
while
var i=0;while (i<100)
或
var i=0;do{...}while(var i < 100)
Map
初始化
var m = new Map([[‘job’:123,‘mike’:456]])
获取
m.get('job')
设置/添加
m.set('job',111)
删除
m.delete('job')
Set
初始化
var s = new Set([1,2,3])
添加
s.add(4)
删除
s.delete(3)
iterable
array,map,set是iterable,访问时应使用
for (var i of array){}
一般不会使用for…in…