一、字符串类型
- 转义字符
- 多行字符串:用反引号(``)来包裹
- 模板字符串,用${ }
let name = "Q";
let age = 9;
let msg = `你好呀,我叫${name},今年${age}岁`
- 长度字符串
Student.length
-
字符串的可变性
JS中字符串是不可变的
可像数组一样用下标来获取字符串中的元素
Student[0]=1;
console.log(Student);
- 大小写转换
console.log(Student.toUpperCase());//返回STUDENT
console.log(Student.toLowerCase());//返回student
- 获取下标
console.log(Student.indexOf('u'));//返回2
- 截取字符串
console.log(Student.substring(1));//从第2个字符串截取到最后一个字符串,返回tudent
console.log(Student.substring(1,3));//从第2个字符串截取到第3个字符串,返回tu
!(x,y)截取时包含x,但不包含y
二、数组类型
- 定义数组或通过下标取值和赋值
var arr = [1,2,3];
var arr = new Array(3);
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
- 长度
- 获取下标
- 截取
arr.slice()//用法同substring
- 头部操作
arr.shift()///删除并返回数组的第一个元素
arr.unshift()//向数组的开头添加一个或多个元素,并返回新的长度
- 尾部操作
arr.pop()//删除并返回数组的最后一个元素(数组改变)
arr.push()//向数组的末尾添加一个或多个元素,并返回新的长度
- 排序、反转
var arr1 = ["B","A","C"];
console.log(arr1.sort());//返回["A","B","C"](数组改变)
console.log(arr1.reverse());//返回["C","A","B"]
8.拼贴(不修改数组)
console.log(arr1.concat([1,2,3]));//[ "B", "A", "C", 1, 2, 3 ](数组不改变)
- 连接符
console.log(arr1.join('-'));//返回B-A-C
- 多维数组
arr = [ [ ],[ ],[ ] ];
三、对象类型
- 赋值,删除,添加
- 判断属性值是否在这个对象中
'age' in person//返回true或false
- 判断一个属性是否是自身拥有的
person.hasOwnProperty('age')//返回true或false
四、分支和循环
- if,while(do-while),for
- forEach(只支持IE8以上浏览器)
var arr = [1,2,12,3,23,4];
arr.forEach(function(a,b,c) {
console.log("a = "+a);//当前正在遍历的元素
console.log("b = "+b);//当前正在遍历的索引(下标)
console.log("c = "+c);//当前正在遍历的数组
})
- for…in
五、Map和Set
- Map
var map = new Map([['A',100],['B',90],['C',80]]);
var name1 = map.get('A');//通过key获得value
map.set('D',60);//新增或修改
map.delete("B");//删除
- Set
set.add();//添加
set.delete();//删除
set.has();//是否包含某个元素