javascript - 你如何在 JavaScript 中创建类?

标签 javascript class function

你们如何在 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 的调试器,除了第二个函数在被调用时未定义外,我没有收到任何错误。

最佳答案

Javascript 不使用基于类的继承。所以,你不能在 Javascript 中创建类,除非使用 workarounds 来模拟它们。恕我直言,这是笨拙和复杂的。

Javascript 是一种原型(prototype)语言。使用 new 关键字根据构造函数对象的原型(prototype)属性创建一个新对象。

您可以在这里了解如何使用原型(prototype)继承来基于原型(prototype)对象实例化新对象:http://javascript.crockford.com/prototypal.html

关于javascript - 你如何在 JavaScript 中创建类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3278438/

相关文章:

javascript - 如何将 for 循环添加到以下 JavaScript 以验证输入?

java - 如何解决 "Exception in thread "AWT-EventQueue-0"java.lang.NullPointerException"?

php - 如何在php中将对象克隆到子类

c++ - 使用任意值初始化/调整容器大小的建议方法

Go 中的函数声明语法

javascript - 如何做回发 Javascript, jquery

javascript - onclick =""是不是应该加分号(;)

C++通过模板传递双数组

javascript - 如何在 JavaScript 中加密一些在客户端不可见的字符串?

java - TestChatBot 类的方法未定义?