我对
JavaScript或Chrome控制台的行为感到困惑.有人能帮我理解吗
基本上我有以下JavaScript代码,不嵌套在任何函数或其他范围内:
var initial_array = []; function initialiseArray() { initial_array = [2,9,8,6,2,1]; } function copyToNewArray() { var copied_array = []; console.log("COPIED 1",copied_array); for (var i = 0; i < initial_array.length; i++) { var copy = initial_array[i]; copied_array.push(copy); } console.log("COPIED 2",copied_array); } initialiseArray(); copyToNewArray();@H_404_5@我希望COPIED 1打印[] – 因为变量尚未分配,而是打印[2,1] – 即分配后的值.
为什么?
顺便提一句,如果用行__ray_ = copy_array替换第8-11行,那么RESULTS 1的确打印为[].是否与使用.push有关?