【发布时间】:2014-10-07 12:00:38
【问题描述】:
谁能解释一下继承在javascript(JS)中的工作原理, 我已经阅读了许多教程,但我无法理解它所实现的目标.. 即使经过日夜没有结果..
我所经历的是:
console.log('Initialized..')
function Animal() {
this.species = "animal";
}
Animal.prototype.category = function (){
alert(this.species);
}
function Dog(){
this.Animal();
}
copyPrototype(Dog, Animal)
var d = new Dog();
d.category();
【问题讨论】:
-
我会找到一个不同的教程。在此之前,你应该问问自己,你是否真的想做这种伪经典的类继承,以及为什么。
-
嗨,谢谢,我是 js 新手,我是从设计背景开始的。我正在尝试学习 OOP 的工作原理。
-
@torazaburo 没有理由不学习 JavaScript 中的任何一种模式。不过,他是否应该使用它很重要。
-
嗨@Icebox,我同意和不同意。没有任何人不应该学习它的理由,但可能有理由首先关注其他事情,而不是纠结于如何做类似 Java 的类层次结构。如果他正在学习一个框架,大多数人都会提供他们自己的类机器(这并不是说他在某些时候不应该学习引擎盖下发生的事情)。他还可以使用 CoffeeScript、TypeScript 或 ES6/Traceur 中的类,而不必担心诸如如何修补派生类的构造函数属性以确保
instanceof正常工作等晦涩难懂的细节。
标签: javascript oop inheritance prototypal-inheritance