构造函数&数据常用函数
一.创建对象三种方式
1.利用对象字面量创建对象
const o = { name: '佩奇' } console.log(o)
2.利用 new Object 创建对象
const oo = new Object() oo.name = '佩奇' console.log(oo)
3.利用构造函数创建对象
构造函数 :是一种特殊的函数,主要用来创建对象(初始化对象)
不过有两个约定: 1.它们的命名以大写字母开头 2.通过 new 关键字来调用构造函数,可以创建对象
说明:
-
使用 new 关键字调用函数的行为被称为实例化
-
实例化构造函数时没有参数时可以省略 ()
-
构造函数内部无需写return,返回值即为新创建的对象
-
new Object() new Date() 也是实例化构造函数
new 实例化执行过程
- 创建新空对象
- 构造函数this指向新对象
- 执行构造函数代码
- 返回新对象
function Pig(name, age) { this.name = name this.age = age } const peiqi = new Pig('佩奇', 6)
4.实例成员&静态成员
实例成员:
通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)
-
为构造函数传入参数,创建结构相同但值不同的对象
-
构造函数创建的实例对象彼此独立互不影响
静态成员:
构造函数的属性和方法被称为静态成员(静态属性和静态方法)
-
静态成员只能构造函数来访问
-
静态方法中的this指向构造函数
二.内置构造函数
1.Object 三种静态方法
Object.keys()
静态方法获取对象中所有属性(键) 返回的是数组
Object.values()
得到对象所有属性值
返回的是数组
Object.assign(目标对象, 源对象)
对象的拷贝 assign 赋值的意思
2.Array
Array 是内置的构造函数,用于创建数组
创建数组建议使用字面量创建,不用 Array构造函数创建
- 实例方法
forEach用于遍历数组,替代for循环 (重点) - 实例方法
filter过滤数组单元值,生成新数组(重点) - 实例方法
map迭代原数组,生成新数组(重点) - 实例方法
join数组元素拼接为字符串,返回字符串(重点) - 实例方法
find查找元素, 返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined(重点) - 实例方法
every检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回 true,否则返回 false(重点) - 实例方法
some检测数组中的元素是否满足指定条件 如果数组中有元素满足条件返回 true,否则返回 false - 实例方法
concat合并两个数组,返回生成新数组 - 实例方法
sort对原数组单元值排序 - 实例方法
splice删除或替换原数组单元 - 实例方法
reverse反转数组 - 实例方法
findIndex查找元素的索引值
3.String 字符串
- 实例属性
length用来获取字符串的度长(重点) - 实例方法
split('分隔符')用来将字符串拆分成数组(重点) - 实例方法
substring(需要截取的第一个字符的索引[,结束的索引号])用于字符串截取(重点) - 实例方法
startsWith(检测字符串[, 检测位置索引号])检测是否以某字符开头(重点) - 实例方法
includes(搜索的字符串[, 检测位置索引号])判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false(重点) - 实例方法
toUpperCase用于将字母转换成大写 - 实例方法
toLowerCase用于将就转换成小写 - 实例方法
indexOf检测是否包含某字符 - 实例方法
endsWith检测是否以某字符结尾 - 实例方法
replace用于替换字符串,支持正则匹配 - 实例方法
match用于查找字符串,支持正则匹配
4.Number 数字
toFixed(n) 用于设置保留n位小数位的长度