這裏是什麼行不通的例子:填充陣列功能外不起作用
var array_one = [];
array_one=['a','b','c'];
聲明和填充陣列以外的任何功能不起作用,但
var array_one = [];
function do_something(){
array_one=['a','b','c'];
}
確實,因爲它在一個函數內。爲什麼?
這裏是什麼行不通的例子:填充陣列功能外不起作用
var array_one = [];
array_one=['a','b','c'];
聲明和填充陣列以外的任何功能不起作用,但
var array_one = [];
function do_something(){
array_one=['a','b','c'];
}
確實,因爲它在一個函數內。爲什麼?
array_one['a','b','b']
沒有語法來填充數組 - 我真的不知道它實際上做。
如果你這樣做array_one = ['a','b','c']
然後你用一個新的數組替換變量。 (與數組之間的區別在於對前一個數組的其他引用仍舊具有舊值)。
要向數組中添加值,請使用array_one.push('a')
。
你在這裏做的不是初始化,而是成員查找。該表達式被解析爲array_one[<member name>]
。在這種情況下,member_name是通過評估'a', 'b', 'c'
來實現的。這將使用逗號運算符,以便按順序評估3個表達式,並且表達式的結果是最終表達式:'c'
。這意味着你的代碼是切實做好以下
array_one['c'];
這聽起來像你想要的東西反而
array_one = ['a', 'b', 'c'];
你會期望做什麼?如果你打算'array_one = ['a','b','c'];'你只是缺少一個'='。或者你想單獨提及'['a']','['b']'和'['c']',可能將它們改爲'null'? – VoteyDisciple
再次,我的錯誤..在一個真實的代碼...有一個'=',我會糾正這個問題,但這將無效的答案! – menardmam