这里写目录标题
- 一级目录
- 二级目录
- 三级目录
- 一、深入对象
- 1.创建对象三种方式
- 2.构造函数
- 3.实例成员
- 4.静态成员
- 二、内置构造函数
- 1.Object
- 2.Array
- 3.String
- 4.Number
一级目录
二级目录
三级目录
一、深入对象
1.创建对象三种方式
利用对象字面量创建对象
利用new Object创建对象:const obj=new Object({uname:pink})
利用构造函数创建对象
2.构造函数
一种特殊的函数,主要用来初始化对象
- 使用场景:快速创建多个类似的对象
function Pig(name,age,gender){this.name=namethis.age=agethis.gener =gender
}
//创建佩奇对象
const Peppa=new Pig('佩奇',6,'女')
//创建乔治对象
const George=new Pig('乔治',3,'男')
//创建猪妈妈对象
const Mum=new Pig('猪妈妈',30,'女')
//创建猪爸爸对象
const Dad=new Pig('猪爸爸',32,'男')
- 命名以大写字母开头
- 只能由new操作符来执行
说明:
- 使用new关键字调用函数的行为被称为实例化
- 实例化构造函数时没有参数时可以省略()
- 构造函数内部无需写return,返回值即为新创建的对象
- 构造函数内部的return返回的值无效,所以不要写return
- new Object()new Date()也是实例化构造函数
实例化执行过程
- 创建新空对象
- 构造函数this指向新对象
- 执行构造函数代码,修改this,添加新的属性
- 返回新对象
3.实例成员
通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)
说明:
- 为构造函数传入参数,创建结构相同但值不同的对象
- 构造函数创建的实例对象彼此独立互不影响
例子
function Pig(name){this.name=name
}
const peiqi=new Pig('佩奇')
4.静态成员
构造函数的属性和方法被称为静态成员
说明:
- 静态成员只能构造函数来访问
- 静态方法中的this指向构造函数
比如Date.now() Math.PI Math.random()
例子
function Pig(name){this.name=name
}
Pig.eyes=2//静态属性
二、内置构造函数
为什么字符串可以用属性:js底层把字符串数值布尔等简单数据类型用专门的构造函数包装成复杂数据类型,
1.Object
内置构造函数,通常用于构造对象
静态方法
- Object.keys静态方法获得对象中所有属性(键)返回的是数组
- Object.values静态方法获得对象中所有属性(值)
- Object.assign静态方法常用于对象拷贝(追加属性)Object.assign(oo,o)o拷贝给oo
2.Array
数组常见实例和方法
3.String
1.实例属性1ength用来获取字符串的度长(重点)
2.实例方法split(‘分隔符’)用来将字符串拆分成数组(重点)
3.实例方法substring(需要截取的第一个字符的索引[,结束的索引号])用于字符串截取(重点)左闭右开
4.实例方法startsWith(检测字符串[,检测位置索引号])检测是否以某字符开头(重点)
5.实例方法includes(搜索的字符串[,检测位置索引号])判断一个字符串是否包含在另一个字符串中,根据情况返回true或false(重点)
6.实例方法toUpperCase用于将字母转换成大写
7.实例方法toLowercase用于将就转换成小写
8.实例方法indexOf检测是否包含某字符
9.实例方法endsWith检测是否以某字符结尾
10.实例方法replace用于替换字符串,支持正则匹配
11.实例方法match用于查找字符串,支持正则匹配