面试题:原型链作用 prototype?

prototype 一般用在哪里?

prototype 对象是实现面向对象的一个重要机制。每个函数也是一个对象,它们对应的类就是
function,每个函数对象都具有一个子对象 prototype。Prototype 表示了该函数的原型,
prototype 表示了一个类的属性的集合。当通过 new 来生成一个类的对象时,prototype 对象的属
性就会成为实例化对象的属性。

实际应用应该怎么说呢

回答·8
最热
最新
  • 原型链通俗易懂的理解就是可以把它想象成一个链条,互相连接构成一整串链子! 而原型链中就是实例对象和原型对象之间的链接。每个函数都有一个 prototype 属性,这个 prototype 属性就是我们的原型对象,我们拿这个函数通过 new 构造函数创建出来的实例对象,这个实例对象自己会有一个指针(_proto_)指向他的构造函数的原型对象!这样构造函数和实例对象之间就通过( _proto_ )连接在一起形成了一条链子。 prototype:是构造函数的原型对象,显式原型,只有函数才会有
  • 因为 js 当时设计的时候为了简单就没设计面向对象,但是又需要继承就搞了一个这个.就是你一个对象(函数也是对象)要根据 key 取值,本来你的对象里没有 key 就应该报错,但是为了继承的效果要有他爹的东西所以有这么一个机制就是不仅仅扫描这个对象有没有还会读取函数的 prototype 继续扫描(普通变量比如数据 obj 只有__proto__)然后这个读取到的东西就是另一个函数对象的 prototype,再然后函数可以网自己的 prototype 这个对象上加东西,这下就可以读取到他爹的 prototype 上的内容了,而且这个熟悉是不需要实力话对象的也就是不需要 new,类似于 static 所以他也是共用一份. 如果需要继承的是子类每个实力话对象都要一份新的那就数据放在他爹对象里面不要放在 prototype 了然后调用他爹的构造函数把数据初始化到自己体内也就是 这俩合一起就是标准的 js 继承流程
  • prototype:当访问一个对象的某个属性时,会从他本身的属性上查找, 如果没找到会去他的__proto__隐式原型上查找,即他的构造函数的 prototype 如果还没找到就会在构造函数 prototype 的__proto__隐式原型上查找 直到构造函数 prototype 的__proto__隐式原型指向 null 会停止
  • prototype 通常用来解决一个问题,那就是对象创建,对象创建比较耗内存,当需要创建很多具有相同属性的对象时,这时候就可以用 clone 来解决问题
  • 理解成类的静态属性得了
  • 这玩意你能用到的地方就是挂在在事例上
  • 内存共享,代码复用。
  • 构造函数通过 prototype 指向其原型