是JavaScript中的「new Array(..)」和「[..]」之間的區別?
var myCars=new Array("Saab","Volvo","BMW");
和
var myCars=["Saab","Volvo","BMW"];
完全一樣?
是JavaScript中的「new Array(..)」和「[..]」之間的區別?
var myCars=new Array("Saab","Volvo","BMW");
和
var myCars=["Saab","Volvo","BMW"];
完全一樣?
是的,這種情況下它們是一樣的。
如果您只有一個項目,並且它是數字,則存在差異。這將創建一個陣列中的單個項目:
var myNumbers = [42];
但是這會創建一個數組,長度42:
var myNumbers = new Array(42);
是的,它們是一樣的。沒有原始形式的數組,因爲JavaScript中的數組始終是對象。第一種符號(new Array
構造函數語法)在JavaScript早期被大量使用,後者的短符號不被很好地支持。
注意,有一個行爲區別:如果你通過一個單一的,數值參數new Array
,像new Array(20)
,它會返回一個新的數組預先初始化與許多元素0
到n - 1
,設置爲undefined
。
以及它是如何有用?我指的是你的第二段 – Xsmael 2017-09-16 16:54:20
是的,他們。但是請注意,當您僅將一個數字參數傳遞給Array
構造函數時,您將指定數組的初始值length
,而不是第一項的值。因此:
var myCars1 = new Array(10);
...的行爲不同於以下數組文本:
var myCars2 = [10];
...注意以下幾點:
console.log(myCars1[0]); // returns undefined
console.log(myCars1.length); // returns 10
console.log(myCars2[0]); // returns 10
console.log(myCars2.length); // returns 1
這就是爲什麼它往往是建議堅持數組文字符號:var x = []
。
你可以在這裏得到一些答案。 http://stackoverflow.com/questions/931872/whats-the-difference-between-array-and-while-declaring-a-javascript-arr – c4il 2010-08-17 07:16:32