zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第14题:谈一谈你对原型的理解? #14

Open zxdfe opened 1 year ago

rupoly commented 1 year ago

每一个对象都有一个隐式原型(proto),每个函数都有一个显式原型(prototype),对象的隐式原型指向它的构造函数的显式原型,如果一个对象中本身没有想要使用的属性或者方法,会去它的隐式原型中寻找这个方法,不管是隐式原型还是显式原型,都是普通的对象,对于深拷贝的理解非常重要。

DengZhaoQuan commented 1 year ago
WLNCJL commented 1 year ago
1.原型就是一个对象,相当于一个独立的空间,把公共的方法放到里面
2.所有的函数都有一个prototype属性(显式原型),指向它的原型对象
3.原型对象上有一个默认的constructor属性,指向它的构造函数
4.所有的实例对象都有一个__proto__属性,指向它的构造函数的原型对象

使用构造函数创建实例对象,如果将方法放到构造函数里,没创建一个实例对象,都会在空间里新建一个空间来存储这个对象,很浪费内存
将方法放到原型对象里,每个通过该构造函数创建的实例对象都可以访问里面的方法,节省了内存
z-forever-y commented 1 year ago
1. 原型就是一个对象,也叫原型对象
2. 所有的函数都有一个prototype属性,属性值是一个对象,这个prototype相当于是一个指针,指向原型对象
3. 所有的对象都有一个__proto__属性,属性值也是一个对象,指向我们的原型对象,也叫隐式原型
4. 所有对象的隐式原型,都指向它的构造函数的显式原型
5. 原型对象上有一个constructor属性,指回它的构造函数
stevenhuanghr commented 1 year ago
原型就是一个对象,也叫原型对象,通过原型可以试想属性的继承,原型的主要作用就是为了实现继承和扩展对象
BlueSky-Engineer commented 1 year ago

原型:就是一个对象,也叫原型对象

  1. 所有的函数,都有一个prototype属性,属性值也是一个普通的对象
  2. 所有的函数,都有一个prototype属性(显示原型),这个属性是一个指针,指向原型对象。(原型)
  3. 原型上默认有一个叫做constructor的属性,指向这个构造函数本身
  4. 所有通过构造函数创建的对象,都共享原型上的属性和方法!
dyxfe commented 1 year ago
1、原型就是一个对象
2、所有的函数都有一个prototype属性,指向它的原型对象
3、所有对象都有一个__proto__属性 指向构造函数得到prototype ,也即是指向原型
4、原型上默认有个constructor属性,指回构造函数

5、作用 : 可以将属性和方法写在原型里面节约内存
6、所有通过构造函数创建的对象都可以共享原型上的方法和属性
Sophora77 commented 1 year ago
  1. 原型就是一个对象
  2. .每个函数都有prototype属性,它的值是一个指针(地址),指向的就是原型对象
  3. 通过构造函数创建的实例,都有一个proto属性,也指向原型对象
  4. 原型上默认有个constructor属性,指回构造函数
  5. 我们可以把一些公共的属性和方法放到原型上,节约内存
  6. 所有通过构造函数创建的实例都共享原型上的属性和方法
CDwenhuohuo commented 1 year ago

原型就是一个对象 每一个函数都有一个prototype属性,它的值是一个指针,指向一个对象,这个对象就是原型对象 每一个对象都有一个proto属性,它也指向原型 每一个原型都有一个constructor属性,指回构造函数本身 我们可以把公共的属性和方法写在原型上,所有通过构造函数创建的实例都可以共享原型上的方法和属性