【发布时间】:2010-07-19 04:21:29
【问题描述】:
你们如何在 JavaScript 中创建“类”!?
我正在使用:
function classFoo()
{
var classLevelVariable = 0;
this.classFunction = function()
{
alert("The classFunction has been called.");
classFunction2(); //Crash. classFunction2 is "undefined."
}
this.classFunction2 = function()
{
alert("classFunction2 called.");
}
}
我一直无法让构造函数工作。试过了
this.New = function(arguments)
这工作一次,但不是在第二类。所以,我现在完全放弃了这些,使用我自己的“初始化”函数作为构造函数。
它工作一次但不是两次的奇怪之处让我认为这两个类之间存在印刷错误......但我认为在 19 年的编码中,可能不是这样。
我正在使用 Chrome 的调试器,除了第二个函数在被调用时未定义之外,我没有收到任何错误。
【问题讨论】:
-
@John:查看编辑历史记录。我希望我已经对问题进行了充分的编辑,使其成为一个合理的问题。
-
当
classFunction2()是classFoo()的方法时,你不能调用this.classFunction2(),如果你的内部是classFoo()。 -
@John:我们必须同意不同意。您应该注意到,如果不进行编辑,他的问题将会很快结束。
-
我很惊讶他们可以将 CS 学位授予如此无知的人。它被称为“原型”,它与类不同。尽管您的 CS 教授坚持,Java 和 C++ 并不是 OOP 的黄金标准,OOP 也不是编程的万能。看来您确定事实的策略很差,因为 Javascript 和 Actionscript 都实现了相同的该死规范 ECMAScript。
-
Javascript 是一种基于原型的编程。一种面向对象的编程风格,其中不存在类,并且行为重用(在基于类的语言中称为继承)是通过克隆用作原型的现有对象的过程来执行的。基于原型的编程 (en.wikipedia.org/wiki/Prototype-based_programming) - 基于类的编程 (en.wikipedia.org/wiki/Class-based_programming)
标签: javascript class function