[英]How do I create multiple instances of a object in javascript during runtime?
[英]Bug while Create multiple instances of an object in JavaScript
我想在JavaScript中創建一個對象的多個實例。 我知道使用Object.create(obj)
或使用new ObjConstructor();
或using ObjFactory();
(由於@WiktorZychla)將使我創建不同的實例。
我理解與該問題的區別,並且當以某種方式對對象構造函數進行編碼時,它們都可以工作。
但是,當我在對象
構造函數
工廠中使用return來使用閉包實現私有變量時,創建的兩個實例似乎是相同的。
這是我的對象構造函數:
var obj3 = function () {
variable3 = "Hello World";
function3_private = function () {
return variable3;
};
return {
function3_get : function () {
return variable3;
},
function3_set : function (v) {
variable3 = v;
},
function3_print : function () {
return function3_private();
}
};
};
如何使用此構造函數創建兩個不同的實例? 還是應該在構造函數中進行更改以實現相同的目的?
如果我的代碼未遵循任何建議,請提出最佳做法。 這是小提琴: http : //jsfiddle.net/GcD9n/
您的私有變量實際上是全局變量,因為您錯過了關鍵字var
。 這意味着您創建的所有對象都使用和修改了variable3
和function3_private
的相同實例,並調用
function3_private();
工作並打印出variable3
的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.