6 Object
- 6.1 属性和方法的集合
- 6.2 类:定义属性和方法
- 6.3 对象是类的实例,类是对象的抽象
- 6.4 JS中一切皆为对象
- 6.5 JS没有类的概念,class语法糖基于原型,构造函数就是抽象
- 6.6 操作:
- 6.6.1 声明:var obj=new Object(); var obj={};
- 6.6.2 添加:obj.name=”lisi”; obj[“name”]=lisi;
- 6.6.3 删除:delete obj.name;
- 6.6.4 访问:var a=obj.name; var a=obj[“name”];
- 6.6.5 遍历:for…in循环(隐式迭代):for(var key in obj){};
- 6.7 原型 实例的__proto__指向构造函数prototype
- 6.8 Prototype里的方法是所有实例共享的
- 6.9 封装、继承、多态(重载、重写)
- 6.10 this执行环境
- 6.10.1 全局this指向window
- 6.10.2 对象方法this指向对象本身
- 6.10.3 事件this指向事件触发对象
- 6.10.4 IIFEthis指向window
- 6.10.5 箭头函数无this
- 6.11 Call()、apply()、bind()
- 6.12 Class
- 6.13 Json
- 6.13.1 JSON是一种数据格式(对象和数组互相嵌套)
- 6.13.2 JSON.parse() JSON.stringify()
7 Array
- 7.1 一组数据的集合
- 7.2 索引 arr[0]–arr[aar.length-1]
- 7.3 常见API:concat()、join()、pop()、push()、shift()、unshift()、reverse()、slice()、sort()、splice()、toString()
- 7.4 ES5新增API:
- 7.4.1 索引方法:indexOf()、lastIndexOf()
- 7.4.2 迭代方法:forEach()、map()、filter()、some()、every()
- 7.4.3 归并方法:reduce()、reduceRight()
- 7.5 操作:
- 7.5.1 声明:var arr=[]; var arr=new Array();
- 7.5.2 遍历:
- 7.5.2.1 for:for(var i=0;i<arr.length;i++){};
- 7.5.2.2 for…in(ES5遍历稀疏数组不遍历undefined):for(var - key in arr){};
- 7.5.2.3 for…of(ES6):for(var value of arr){};
- 7.5.2.4 forEach(ES5):arr.forEach(function(){});
- 7.6 排序:
- 7.6.1 arr.sort(function(a,b){return a>b}?;
- 7.6.2 冒泡排序
- 7.6.3 选择排序:
- 7.6.4 插入排序
- 7.6.5 快速排序
- 7.7 去重
- 7.7.1 二重for循环
- 7.7.2 利用对象属性名不能重复的特点
- 7.7.3 Array.from(new Set(arr));
- 7.7.4 var newarr=[…new Set(arr)];//扩展符
- 7.7.5 reduce()配合include()
- 7.8 多维数组、稀疏数组
8 String
- 8.1 常见API:charAt()、indexOf()、lastIndexOf()、charCodeAt()、fromCharCode()、concat()、match()、replace()、search()、slice()、split()、substr()、substring()、toLowerCase()、toUpperCase()
- 8.2 ES5/ES6新增API:trim()、startsWith()、endsWith()、includes()、repeat()
- 8.3 ACSII编码
- 8.4 支持正则的API:search()、match()、replace()、split()
9 内置对象
- 9.1 Math
- 9.1.1 常用API:abs()、ceil(x)、floor(x)、round(x)、max(x,y)、min(x,y)、pow(x,y)、sqrt(x)、random()
- 9.1.2 随机数公式:Math.random()*(max - min) + min
- 9.2 Date
- 9.2.1 时间戳
- 9.2.2 当前时间对象:new Date()
- 9.2.3 目标时间对象:new Date(2012,6,10);
- 9.2.4 getAPI、setAPI
- 9.2.5 月份0-11、无setDay()
- 9.2.6 设置的时间超出正常时间会自动推移
- 9.3 Number
- 9.4 Function
- 9.5 Boolean
- 9.6 Error try{}catch(e){}
- 9.7 JSON
- 9.8 RegExp
- 9.9 Object
- 9.10 Array
- 9.11 String