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