[英]Is there a better way to implement "string contains substring" in javascript?
[英]the better way to implement OOP in javascript
我想用JavaScript和Canvas做一個框架(學術上)的動畫,我開始尋找使用javascript進行面向對象編程的指南,發現太多的變化。
例子:
// Example 1
var object = {
public_method: function(){ //do something }
}
// Example 2
function object(){
this.public_method = function(){ //do something }
}
var o = new object();
這是正確或最佳的方法(簡單明了)。
注意:這種項目的設計模式好嗎?
第一個將僅創建一個實例,而第二個可用於創建多個實例。
我更喜歡使用構造函數並將方法放在原型中。 這樣,方法將為所有實例創建一次,而不是為每個實例分別創建:
function ExampleObject() {
this.answer = 42;
}
ExampleObject.prototype = {
get_answer: function(){ return this.answer; },
another_method: function(){}
};
var obj = new ExampleObject();
alert(obj.get_answer());
如果您想要類似於經典OOP設計(圍繞類 )的內容,則應執行以下操作:
function MyClass(param1, param2) {
this.param1 = param1;
this.param2 = param2; // These are fields.
}
MyClass.prototype.publicMethod = function() {
// do something
}
var o = new MyClass(x, y);
我建議您閱讀有關prototype
更多信息。 這使您可以創建同一“類”的許多實例,而不會浪費內存,執行和編程,分別為每個實例定義方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.