问题

两者有什么区别?

所以我知道array.size()是一个函数,而array.length是一个属性.是否有一个使用一个的usecase?一个更有效吗? (我会想象.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()不是一个有效的方法

始终使用长度属性

有一个库或脚本将大小方法添加到数组原型,因为这不是一个本机数组方法.这通常是为了为自定义getter添加支持.使用这个的例子是当您想获取数组内存中的大小时(这是我认为这对这个名称有用的唯一事情).

不幸的是,underscore.js定义了一个size方法,它实际上返回对象或数组的长度.不幸的是,由于函数的长度属性被定义为命名参数的数量,函数声明它们必须使用替代方案并选择大小(计数本来是一个更好的选择).

  相同标签的其他问题

javascriptarrays