gpt4 book ai didi

Javascript:什么是多级原型(prototype)层次结构以及为什么我们应该避免它

转载 作者:行者123 更新时间:2023-11-30 07:44:46 27 4
gpt4 key购买 nike

Google Javascript Coding Guidelines ,它说我们不应该使用多级原型(prototype)层次结构,因为“这些层次结构比它们第一次出现时要难得多!”。其实我没看懂什么意思。在哪里可以找到一个很好的例子来解释它的用法并说明它的坏影响?

最佳答案

这是一个两级继承的例子:

// 1. level constructor
var Dog = function ( name ) {
this.name = name;
};

Dog.prototype.bark = function () { /* ... */ };

// 2. level constructor
var TrainedDog = function ( name, level ) {
Dog.apply( this, arguments ); // calling the super constructor
this.level = level;
};

// set up two-level inheritance
TrainedDog.prototype = Object.create( Dog.prototype );
TrainedDog.prototype.constructor = TrainedDog;

TrainedDog.prototype.rollOver = function () { /* ... */ };

// instances
var dog1 = new Dog( 'Rex' );
var dog2 = new TrainedDog( 'Rock', 3 );

这里,dog1Dog 原型(prototype)继承了 bark 方法,dog2 继承了该方法(来自 Dog 原型(prototype))和来自 TrainedDog 原型(prototype)的 rollOver 方法。

关于Javascript:什么是多级原型(prototype)层次结构以及为什么我们应该避免它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859550/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com