Open zxdfe opened 1 year ago
理解原型:
__proto__
隐式原型指向它构造函数的prototype显式原型,其实指向的就是原型对象。原型上的属性: 每个原型对象上默认都有一个constructor属性,指回构造函数本身。( 表示 我这个原型 是哪个构造函数的原型,其实就相当于一个标识 )
为什么需要原型:
__proto__
访问到它的构造函数的原型。当访问一个对象的属性和方法时,先在自身中寻找,如果没有,就会沿着__proto__
一层一层查找原型对象中的属性和方法。这样就可以共享存在同一个内存地址的属性和方法,节约了内存。1.原型就是一个对象,相当于一个独立的空间,把公共的方法放到里面
2.所有的函数都有一个prototype属性(显式原型),指向它的原型对象
3.原型对象上有一个默认的constructor属性,指向它的构造函数
4.所有的实例对象都有一个__proto__属性,指向它的构造函数的原型对象
使用构造函数创建实例对象,如果将方法放到构造函数里,没创建一个实例对象,都会在空间里新建一个空间来存储这个对象,很浪费内存
将方法放到原型对象里,每个通过该构造函数创建的实例对象都可以访问里面的方法,节省了内存
1. 原型就是一个对象,也叫原型对象
2. 所有的函数都有一个prototype属性,属性值是一个对象,这个prototype相当于是一个指针,指向原型对象
3. 所有的对象都有一个__proto__属性,属性值也是一个对象,指向我们的原型对象,也叫隐式原型
4. 所有对象的隐式原型,都指向它的构造函数的显式原型
5. 原型对象上有一个constructor属性,指回它的构造函数
原型就是一个对象,也叫原型对象,通过原型可以试想属性的继承,原型的主要作用就是为了实现继承和扩展对象
原型:就是一个对象,也叫原型对象
1、原型就是一个对象
2、所有的函数都有一个prototype属性,指向它的原型对象
3、所有对象都有一个__proto__属性 指向构造函数得到prototype ,也即是指向原型
4、原型上默认有个constructor属性,指回构造函数
5、作用 : 可以将属性和方法写在原型里面节约内存
6、所有通过构造函数创建的对象都可以共享原型上的方法和属性
原型就是一个对象 每一个函数都有一个prototype属性,它的值是一个指针,指向一个对象,这个对象就是原型对象 每一个对象都有一个proto属性,它也指向原型 每一个原型都有一个constructor属性,指回构造函数本身 我们可以把公共的属性和方法写在原型上,所有通过构造函数创建的实例都可以共享原型上的方法和属性
每一个对象都有一个隐式原型(proto),每个函数都有一个显式原型(prototype),对象的隐式原型指向它的构造函数的显式原型,如果一个对象中本身没有想要使用的属性或者方法,会去它的隐式原型中寻找这个方法,不管是隐式原型还是显式原型,都是普通的对象,对于深拷贝的理解非常重要。