如何在浏览器中使用基于类的OOP JavaScript?
我一直在将我的过程JS函数转换成一个类,现在我想知道什么时候实例化它 这是我的班级:如何在浏览器中使用基于类的OOP JavaScript?,javascript,oop,Javascript,Oop,我一直在将我的过程JS函数转换成一个类,现在我想知道什么时候实例化它 这是我的班级: MyProject = function() {}; MyProject.prototype.myProperty = "10"; MyProject.prototype.myMethod = function (value) { // do something } 这是我的HTML页面: <script src="javascriptfilesdirectory/MyProject.js
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()" >
另外,我说的是一般情况,在这种情况下,它是一个单身汉。我只想要一份在用的 如果你真的想成为单身汉,你可以做得更简单,比如:
var myProject = new (function() {
this.myProperty = "10";
this.myMethod = function(value) { }
})();
您的“类”定义的时间只够分配一次,因为您永远不会实例化第二个副本
对于非单身人士,我倾向于遵循页面上的模式:
如果你真的想要单身,你可以做得更简单,比如:
var myProject = new (function() {
this.myProperty = "10";
this.myMethod = function(value) { }
})();
您的“类”定义的时间只够分配一次,因为您永远不会实例化第二个副本
对于非单身人士,我倾向于遵循页面上的模式:
另外,我说的是一般情况,在这种情况下,它是一个单身汉。我只想要一份在用的
在这种情况下,只需直接创建对象:
var myProject = {
myProperty: "10",
myMethod: function() { ... }
};
创建对象的时间和地点无关紧要,只要您在需要的时间和地点可以访问它
另外,我说的是一般情况,在这种情况下,它是一个单身汉。我只想要一份在用的
在这种情况下,只需直接创建对象:
var myProject = {
myProperty: "10",
myMethod: function() { ... }
};
创建对象的时间和地点无关紧要,只要您能够在需要的时间和地点访问它。JavaScript没有类,它有原型。它们允许相同类型的事情,但以不同的方式工作,并且试图强迫其中一个像另一个一样工作,或者把它们看作是相同的,这可能比学习基于原型的继承实际上是如何工作的更让人困惑。我会记住这一点。ThanksJavaScript没有类,它有原型。它们允许相同类型的事情,但以不同的方式工作,并且试图强迫其中一个像另一个一样工作,或者把它们看作是相同的,这可能比学习基于原型的继承实际上是如何工作的更让人困惑。我会记住这一点。Thankso myProject是在首次定义时实例化的吗?如果没有在原型上定义方法和属性,那么这些方法和属性并不重要,因为只有在正确的情况下才会调用它们?是的,这两个语句听起来都是正确的。如果您认为有可能要脱离单例并定义一个可重用的类型,那么最好只使用原型模式,这样以后重构就更容易了。那么myProject在第一次定义时就被实例化了?如果没有在原型上定义方法和属性,那么这些方法和属性并不重要,因为只有在正确的情况下才会调用它们?是的,这两个语句听起来都是正确的。如果您认为有可能要脱离单例并定义一个可重用的类型,那么最好只使用原型模式,这样以后重构就更容易了。