1,构造函数 一种特殊的函数,主要用来初始化对象,他也与new一起使用,我们可以把对象中的公用方法抽取出来,封装到这个函数中,首字母要大写 new 在执行时 会做四件事情:

  1. 在内存中创建一个新的空对象。
  2. 将空对象的原型指向构造函数的原型
  3. 让this指向这个新的对象
  4. 返回这个新对象(所以构造函数里面不用return)
  • 原型是什么 ?
    • 一个对象,我们也称为 prototype 为原型对象
  • 原型的作用是什么 ?
    • 共享方法
  • 对象都会有一个属性 proto 指向构造函数的 prototype 原型对象,之所以我们对象可以使用构造函数 prototype 原型对象的属性和方法,就是因为对象有 proto 原型的存在。
  • proto 对象原型和原型对象 prototype 是等价的
  • proto 对象原型的意义就在于为对象的查找机制提供一个方向,或者说一条路线,但是它是一个非标准属性,因此实际开发中,不可以使用这个属性,它只是内部指向原型对象 prototype

:::warning ES6之前并没有给我们提供 extends 继承。我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承。

1、call() 方法:调用这个函数,并且修改函数运行时的 this 指向

::: :::info

ES5新增的数组方法

迭代(遍历)方法:forEach()、map()、filter()、some()、every(); :::