JavaScript是一種原型語言,而不是像C#這樣的經典語言。儘管JavaScript確實有一個與C#非常類似的新操作符,但您不應該將它用於創建新對象或數組。
//Bad way to declare objects and arrays
var person = new Object(),
keys = new Array();
新的關鍵字加入到語言部分安撫古典語言,但在現實中,它往往會混淆開發商多幫助他們。相反,JavaScript中有本地方式來聲明對象和數組,您應該使用它們。
而不是使用以前的語法,而應該使用它們的文字表示法來聲明對象和數組。
//Preferred way to declare objects and arrays
var person = {},
keys = [];
使用這種模式,你實際上有很多使用Object Literals和數組初始值設定語法的表達力。
//Preferred way to declare complex objects and arrays
var person = {
firstName: "Elijah",
lastName: "Manor",
sayFullName: function() {
console.log(this.firstName + " " +
this.lastName);
}
},
keys = ["123", "676", "242", "4e3"];
最佳實踐
你應該使用自己的文字符號,而不是使用新的操作聲明所有的變量。以類似的方式,您不應該使用新的關鍵字布爾,數字,字符串或函數。他們所做的只是增加額外的膨脹並放慢速度。
爲什麼要使用new關鍵字的唯一真正原因是如果你正在創建一個新的對象,並且你希望它使用你定義的構造函數。有關此主題的更多信息,可以查看道格拉斯克羅克福德的文章JavaScript,We Hardly new Ya。
你的意思是什麼?沒有辦法創建一個數組,只有一個預先指定的數字元素*? – KooiInc 2012-07-30 06:48:57
他意味着你不能使用新的數組(123)創建一個數組[123],因爲它創建了給定大小的預定義數組。 – 2012-07-30 07:03:05