2014-04-07 96 views
1

所以我想在javascript中編寫一個應用程序,我試圖學習OOP javascript。所以我創建了一個簡單的「類」,在原型中我將數組設置爲空。當我創建一個對象它傳遞兩個值到該陣列中,但是當我創建另一個目的它從以前的對象我創建保留值..Javascript與對象的問題

我有一個的jsfiddle表示我的問題..

http://jsfiddle.net/UGWt8/3/

請讓我知道這是爲什麼發生的事情..

我想,當我喜歡創建新的對象:

var data = new the_namespace.Test(); 

這將是乾淨的,沒有任何數據..

(這可能是很簡單的東西,但我又還在一種新的JavaScript。)由於在原型

+0

請在你的問題相關的代碼 - 而不僅僅是把它 –

回答

2

對象跨實例共享;移動的array定義的構造器:http://jsfiddle.net/UGWt8/4/

+0

鏈接明白了..所以在原型,我會定義會與共享的通用功能實例但特定實例的具體值的變量應該在原型之外? – vicgonzalez25

+0

此行爲取決於分配給成員的值的類型;對於基元(String,Number,Boolean),這不會發生,但是Array和Objects。 要避免此類錯誤,通常最好使用您描述的模式。 – circusbred

+0

聽起來不錯:)謝謝你的幫助,我會給你一個投票,但我是新的和不能:/ – vicgonzalez25