两者有什么区别?
所以我知道array.size()
是一个函数,而array.length
是一个属性。是否存在使用其中一种而不是另一种的用例?是不是效率更高? (我会想象.length
明显更快,因为它是一种属性而不是方法调用?)为什么人们会使用较慢的选项?是否有一些浏览器与其中一种不兼容?
var x = [];
console.log(x.size());
console.log(x.length);
console.log(x.size()==x.length);
x =[1,2,3];
console.log(x.size());
console.log(x.length);
console.log(x.size()==x.length);
将打印:
0, 0, true
3, 3, true
Array.size() 不是有效方法
始终使用 length 属性
有一个库或脚本将 size 方法添加到数组原型中,因为这不是本机数组方法。这样做通常是为了添加对自定义 getter 的支持。使用此方法的一个例子是当您想要获取数组内存中的大小时(这是我能想到的唯一对这个名称有用的东西)。
Underscore.js 不幸地定义了一个size
实际上返回对象或数组的长度的方法。由于不幸的是,函数的长度属性被定义为命名参数的数量,因此函数声明它们必须使用替代方案并选择大小(计数将是更好的选择)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)