【发布时间】:2012-10-04 21:48:07
【问题描述】:
这里是小提琴:http://jsfiddle.net/Xh4GU/1 或代码:
function Vector()
{
var v = new Array(123, 456, 789);
this.getV = function()
{
return v;
}
}
function Formulas()
{
this.add = function(x, axis, units)
{
x[axis] += units;
}
}
var vector = new Vector();
var formulas = new Formulas();
var v = vector.getV();
var vAdded = formulas.add(v, 0, 77)
document.write(v);
吐出:200,456,789
为什么 v 的第一个索引被改变了? 谢谢
【问题讨论】:
-
因为你所有的变量(
v、全局v、x参数)都引用了同一个数组对象?你希望add做什么?
标签: javascript variables methods private