所以我有一个类foo有一个方法,它返回一个数组栏。我有另一个函数调用foo.getBar,然后过滤数组。当我使用不同的过滤器时,我希望能够始终获取条的原始内容,但bing似乎只是创建对条的引用,而不是单独的数组。我试过使用return this.bar.valueOf();在我的函数foo中,仍然没有工作。当我从冰上移除物品时,它们也会从酒吧中移除。有人请赐教,我创建一个独特的数组而不是参考。返回一个Javascript对象的属性的值不参考
function foo(x, y, z){
this.bar = new Array();
...
this.bar = [ some , stuff , in , bar ];
this.getBar = function getBar(){
return this.bar;
}
...
}
var FooObject = new foo(x,y,z);
function baz(){
var bing = FooObject.getBar();
bing.splice(remove some pieces of the array);
}
我的数组包含对象,但自己不会被改变的对象,他们只需要再次添加的能力。 例如[对象福特,对象雪佛兰,对象丰田,对象宝马]我可能会运行巴兹只显示美国汽车,所以我想能够从阵列中删除丰田和宝马,然后运行一个方法在剩余的对象渲染一些HTML,但如果过滤器被删除,我希望能够在所有数组项上再次运行渲染HTML方法。对象本身不会被更改,只是从数组副本中删除。那么这项工作会吗? – Jesse 2009-08-26 14:39:36
这似乎工作感谢大家的迅速反应!这是我第一次发布Stack Overflow,它肯定不会是我的最后一次。 – Jesse 2009-08-26 14:47:34
是的,这将工作。 – 2009-08-26 18:11:09