gpt4 book ai didi

javascript - 原型(prototype)继承

转载 作者:行者123 更新时间:2023-11-30 18:15:30 25 4
gpt4 key购买 nike

在这里,我试图理解 javascript 中继承的一些概念。我创建了 person 类并尝试在 Customer 类中继承它。

        var Person = function(name) {
this.name = name;
};

Person.prototype.getName = function() {
return this.name;
};

Person.prototype.sayMyName = function() {
alert('Hello, my name is ' + this.getName());
};


var Customer = function(name) {
this.name = name;
};

Customer.prototype = new Person();


var myCustomer = new Customer('Dream Inc.');
myCustomer.sayMyName();

每次创建新对象时,javascript 引擎基本上都会调用原型(prototype)的构造函数。在这里,我试图了解一些事情:

如果 Customer 原型(prototype)指的是 Person 对象。那么新 Customer 对象的创建应该只包含 Person 属性/方法而不是 Customer 属性/方法。Customer 属性如何附加到新的 Customer 对象 (myCustomer)?

我是不是漏掉了一些 javascript 的概念?

最佳答案

Here I am trying to understand few concepts of inheritance in javascript.I have created person class and trying to inherit it in Customer class.

那么你肯定很快就迷路了。原型(prototype)继承中没有类。
这就是重点! :-)


使用 .prototypenew Function() 语法并不是利用原型(prototype)继承的非常明确的方式。

考虑 using Object.create instead of new - 这种方式允许您直接说出哪个对象应该是哪个原型(prototype)。它更直接,您可能会通过这种方式更快地掌握原型(prototype)的概念。

另外,如果你想拥有更长的原型(prototype)链,那么这种方式肯定用起来更舒服。

关于javascript - 原型(prototype)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378852/

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