一、学习内容
改变this的方法:
call()
- 会调用函数
- 可以改变函数的this指向
- 参数的传递就和之前函数一样
apply()
- 调用函数
- 改变函数的this指向
- 第二个参数需要是一个数组类型,里面存放函数的参数
bind() - 使用频率高些
- 不会直接调用函数,返回一个新函数
- 改变函数this的指向
对象:属性和方法的无序集合
const obj = {
// 属性
uname: 'zs',
// 方法
sayName() {
console.log('我叫张三')
}
}
工厂模式
封装一个函数-创建具体的对象
这个函数就像一个模板
构造函数的要求
- 函数名使用大写(和普通函数做个区别)
- 内部使用this添加属性和方法
- 不需要使用return关键字(内部会自动返回一个对象)
- 调用必须使用关键字new
构造函数在创建的时候this是没有指向
实例出具体的对象的时候,this就指向了这个对象
new的时候,我们程序执行了如下几步
1.在内存中创建一个空的对象 - {}
2.确定this指向,指向这个空对象
3.构造函数内部代码的执行,给这个空对象添加属性和方法
4.返回这个新的对象 - 内部自动执行return
成员:
- 实例成员 (实例化对象可以访问的属性或方法)
- 静态成员 (只有构造函数才能访问的属性或方法)
构造函数可以让我们更好的区分对象的类型
instanceof 判断某个对象是否是某个构造函数的实例化,
结果是一个布尔值
|