2014-04-07 69 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