再会 :)
为什么当我编辑时hold:Array
,array:Array
也会被编辑?
举个例子:
function func(2, 2) { //x, y COORDINATE
var hold = array[2]; //GET COLUMN OF ARRAY
hold[2] = 2; //SET hold[x] to 2
trace(array[2][2]) //SAME AS hold[x] *but i didn't change array[x]'s value!*
}
逐步分析
array[] 看起来像这样(例如):
1,1,1,1
1,1,1,1
1,1,1,1
1,1,1,1
因此,var hold = array[y]
:(其中 y=2)
1,1,1,1
和hold[x] = 2
(其中 x=2)
1,2,1,1
现在,跟踪array[y][x]
(其中 y=2,x=2)
1,2,1,1
但array[2][2]
应该是1,1,1,1
,因为我们没有编辑它的值!
问题当我只编辑时
为什么会array[]
被编辑hold[]