在JSLint的,它警告說,var x = new Array();
var x = new Array();
(這是不是一個真正的變量名)應該是
var result = [];
有什麼不對的第一語法?建議背後的推理是什麼?
在JSLint的,它警告說,var x = new Array();
var x = new Array();
(這是不是一個真正的變量名)應該是
var result = [];
有什麼不對的第一語法?建議背後的推理是什麼?
Crockford doesn't like new
。因此,JSLint expects you to avoid it時儘可能。並且可以不使用new
來創建新的數組對象....
它的安全使用[]
比它要使用new Array()
,因爲你實際上可以在JavaScript覆蓋的Array
值:
Array = function() { };
var x = new Array();
// x is now an Object instead of an Array.
換句話說,[]
是毫不含糊的。
第一種語法本身沒有任何問題。實際上,在w3schools上,它列出new Array()
作爲創建數組的方式。問題是這是「老路」。 「新方法」[]
較短,並允許您初始化數組中的值,如["foo", "bar"]
。在良好風格方面,大多數開發者更喜歡[]
到new Array()
。
沒有錯,無論是形式,但大家平時看到的使用文字的地方possible-
變種S = '' 不大於變種S =新的String()更正確....
看起來你可以得到不同的性能基於你使用和爲什麼目的取決於瀏覽器或環境:
http://jsperf.com/new-array-vs-literal/11([1,.2] vs新陣列(1,.2))文字是方式在這種情況下更快。
http://jsperf.com/new-array-vs-literal/7(new Array(500000)vs [] .length(500000))新陣列在chrome v21中看起來速度更快,約爲7%或30%)。
第1個語法沒有錯。第二個簡短。 – 2009-05-19 21:40:47