use*_*223 5 javascript arrays web-applications
当我想声明一个新数组时,我使用这种表示法
var arr = new Array();
Run Code Online (Sandbox Code Playgroud)
但是当在线测试时,例如在jsbin上,警告会向我发出"使用数组文字符号[]"的信号.
我没有找到避免使用构造函数的理由.在某种程度上效率低于使用[]?还是不好的做法?
是否有充分的理由使用var arr = [];而不是var arr = new Array();?
[] 是:
new Array(3)和new Array(3,3)做完全不同的事情示例代码:
var a = new Array(3);
var b = new Array(3,3);
Array = function () { return { length: "!" }; };
var c = new Array();
var d = [];
alert(a.length); // 3
alert(b.length); // 2
alert(c.length); // !
alert(d.length);? // (still) 0????????
Run Code Online (Sandbox Code Playgroud)
此代码实时 - 将尝试创建4个警报!
小智 5
大多数人都使用,var a = []因为道格拉斯克罗克福德这么说.
他的原因包括新的Array()的非直观和不一致的行为:
var a = new Array(5); // an array pre-sized to 5 elements long
var b = new Array(5, 10); // an array with two elements in it
Run Code Online (Sandbox Code Playgroud)
请注意,new Array()创建一个只包含一个预先指定的数字元素的数组是没有办法的!
使用[]实际上更有效,也更安全!可以覆盖Array构造函数并使其做奇怪的事情,但是你不能覆盖[]的行为.
就个人而言,我总是使用[]语法,同样总是使用{}语法代替新的Object().
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |