我已经将程序 JS 函数转换为一个类,现在我想知道何时实例化它。
这是我的类(class):
MyProject = function() {};
MyProject.prototype.myProperty = "10";
MyProject.prototype.myMethod = function (value) {
// do something
}
这是我的 HTML 页面:
<script src="javascriptfilesdirectory/MyProject.js"/>
<script>
function initialize() {
myProject = new MyProject();
}
</script>
<body onload="initialize()" >
我的问题是我是在页面加载时初始化它并创建一个局部变量(如上所示)还是在 JS 类文件中初始化它?
这是我的 JS 文件:
MyProject = function() {};
MyProject.prototype.myProperty = "10";
MyProject.prototype.myMethod = function (value) {
// do something
}
myProject = new MyProject();
另外,我说的是一般情况,在本例中它是一个单例。我只想使用它的一份副本。
最佳答案
如果你真的想要它作为一个单例,你可以做得比这更容易,比如:
var myProject = new (function() {
this.myProperty = "10";
this.myMethod = function(value) { }
})();
您的“类”仅定义足够长的时间来分配一次,因为您永远不会实例化第二个副本。
对于非单例,我倾向于遵循TypeScript上发现的模式。页面:
var Greeter = (function () {
function Greeter(message) {
this.greeting = message;
}
Greeter.prototype.greet = function () {
return "Hello, " + this.greeting;
};
return Greeter;
})();
var greeter = new Greeter("world");
关于javascript - 如何在浏览器中使用基于类的 OOP JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19917717/