目录
- 一、深入对象
- 1.1 创建对象的三种方式
- 1.2 构造函数
- 1.3 实例成员&静态成员
 
- 二、内置构造函数
- 2.1 Object
- 2.2 Array
- 2.3 String常见实例方法
- 2.4 Number
 
 
一、深入对象
1.1 创建对象的三种方式
- 利用对象字面量创建对象
- 利用new object创建对象
 const obj = new Object({})
- 利用构造函数创建对象
1.2 构造函数
- 通过构造函数快速创建多个类似的对象
 约定:① 命名以大写字母开头 ② 使用构造函数必须加new
 语法eg:
 【说明】:function Pig(name,age) {this.name = name;this.age = age } const pepa = new Pig('佩奇', 6)- 使用new关键字调用函数的行为称为实例化
- 实例化构造函数时没有参数可以省略()
- 构造函数内部无需写return,返回值即为新创建的对象
- new Object() 和 new Date()也是实例化构造函数
 
- 实例化执行过程
 ① 创建新的空对象 ② 构造函数this指向新对象 ③ 执行构造函数代码,修改this,添加新属性 ④ 返回新对象
1.3 实例成员&静态成员
- 实例对象:通过构造函数创建的对象
 实例成员:实例对象中的属性和方法(实例属性和实例方法)
 【说明】:① 为构造函数传入参数,创建结构相同但值不同的对象 ② 构造函数创建的实例对象彼此独立互不影响
- 静态成员:构造函数的属性和方法称为静态成员(静态属性和静态方法)
 【说明】:① 静态成员只能构造函数访问 ② 静态方法中的this指向构造函数
 eg:Date.now()``````Math.PI``````Math.random()
二、内置构造函数
字符串、数值、布尔等基本类型也有专门的构造函数,称为包装类,js中几乎所有数据都可以基于构造函数创建
 引用类型:Object、Array、RegExp、Date等
 包装类型:String、Number、Boolean等
2.1 Object
- 获得所有的属性名,返回数组
 Object.keys(变量名)
- 获得所有的属性值,返回数组
 Object.values(变量名)
- 对象的拷贝
 Object.assign(变量名,需要拷贝的对象)
2.2 Array
-  数组常见实例方法-核心方法 -  forEach方法 
 遍历数组,无返回值,适合遍历数组对象
 语法:数组名.forEach(function (数组元素,元素索引) {})
-  map方法 
 迭代数组,并且返回新的数组
 map也叫映射,有返回值,forEach没有
 语法:数组名.map(function (数组元素,元素索引) {})
-  filter方法 
 过滤数组,并返回筛选之后元素的新数组,不改变原数组,只能写比较运算符
 语法: currentValue必须写,index可选数组名.filter(function (currentValue, index) {return 筛选条件 })eg:  
-  reduce方法 
 累计器,返回累计处理的结果,经常用于求和
 语法:数组名.reduce(function(){}, 起始值) 数组名.reduce(function(上一次值,当前值){}, 起始值)参数:有起始值,就把起始值加到里面 
 reduce执行过程: eg:  
 
-  
-  数组常见实例方法-其他方法 
   - find方法
 查找元素,返回符合条件的第一个数组元素值,如果没有就返回undefined
 语法:arr.find(回调函数[, thisArg])
 参数说明:
 回调函数:有三个参数:① element:当前遍历到的元素(必写) ② index:当前遍历到的索引(可选) ③ 数组本身(可选)
 thisArg:执行回调时用作this的对象
 eg:
 arr.find(function (item) {return item.name === '小米' })- every方法
 筛选数组,返回布尔值,测试一个数组内所有元素是否都能通过某个指定函数的测试
 若都符合条件,返回true,否则返回false,若收到一个空数组,此方法在一切情况下都会返回true
 
- find方法
-  数组常见静态方法-from方法 
 把伪数组转换为真数组,返回转换后的真数组
 语法:arr.from(需要转换的伪数组)
2.3 String常见实例方法

- split()方法
 把字符串转换为数组,返回转换后的数组,和join()相反
 语法:str.split('分隔符')
 eg:const str = "red,pink" const arr = str.split(',')
- substring()方法
 截取字符串,返回截取到的字符串
 语法:arr.substring(indexstart[, indexend])
 参数:indexstart表示需要截取的部分的第一个元素的索引号,indexend表示要截取到的最后一个元素的后一个元素的索引号,(即左闭右开)如果省略了indexend,默认截取到最后
- startsWith()方法
 检测字符串,判断字符串是否以给定的字符串开头
 语法:arr.startsWith(searchString[, position])
 参数:searchString表示要检测的字符串,position表示开始搜索的位置,默认为0
- includes()方法
 搜索字符串,判断一个字符串是否包含在另一个字符串中,返回一个布尔值
 语法:arr.includes(searchString[, position])
2.4 Number
- toFixed()方法
 对数字指定保留小数位数,整数也可以
 语法:num.toFixed(指定保留的小数位数)
- toString()方法
 数字型转换为字符串