我最近一直在學習一些JavaScript,並且不太確定地發現了一些性能問題,我認爲它與數組相關。 我寫了一個簡短的測試函數來測試數組是否通過引用傳遞。 他們是。我唯一的問題是:在JS中傳遞數組是如何工作的?
它究竟傳遞了多少?
在JavaScript中沒有指針,對不對?
下面是測試功能:如預期
function arr_test(arr) {
for (var i = 0; i < arr.length; i++) {
arr[i] = 50;
}
}
function num_test(num) {
num = 50;
}
var array = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
arr_test(array);
console.log(array);
var num = 10;
num_test(num);
console.log(num);
輸出:
Array [ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 ]
10
難道你不想輸出'num'到50. –
可能重複的[Javascript是否通過引用?](http://stackoverflow.com/questions/13104494/does-javascript-pass-by-reference) –
對於ONCE JavaScript表現得像Java!指針從視野中隱藏,但它們的使用仍然清晰可見。 – 4castle