gpt4 book ai didi

javascript - 如何使用构造函数方法创建一个 javascript 类来初始化新对象/实例?

转载 作者:行者123 更新时间:2023-11-30 10:26:56 24 4
gpt4 key购买 nike

我正在试验 javascript。我正在尝试制作一个“类”,但它没有像它应该的那样工作。我在启动 MyClass 的新实例时遇到问题。请参阅 js fiddle 。是否可以像在 php 中一样向 MyClass 添加构造函数?我也不确定这是在 javascript 中定义“类”的方式。因此,我们将不胜感激任何帮助。

http://jsfiddle.net/kasperfish/JnvFS/

    var MyClass={
test:'hello',

hallo: function(){
alert(this.test);
},

setTest: function(x){
this.test=x;
}

}

MyClass.hallo();
MyClass.setTest('world');
MyClass.hallo();

//not working because MyClass is/does not have a constructor
x= new MyClass;//*
x.hallo();

* firebug: TypeError: MyClass is not a constructor

最佳答案

在 JavaScript 中,类的构造函数只是一个函数,其成员要么在函数中设置,要么使用 prototype 对象。例如:

function MyClass(someArgument) {
// construction, init members of this
this.someField = someArgument;
this.test = 'a test';
}

// in addition, all members of `prototype` are automatically set on every
// new instance of MyClass.
MyClass.prototype.hallo = function(){
alert(this.test);
};

然后

var inst = new MyClass(42);
inst.hallo();

我建议您阅读 JavaScript 中基于原型(prototype)的 OOP。它肯定与您可能习惯的 PHP 不同,并且通常感觉不是很直观。

关于javascript - 如何使用构造函数方法创建一个 javascript 类来初始化新对象/实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170871/

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