JavaScript 中使用
.size()
还是.length()
?
让我们仔细看看…….size()
实际上只是调用了 .length
(如下所示的 jQuery 源代码清楚地表明了这一点),因此我们节省了一个函数调用:
//https://code.jquery.com/jquery-latest.js // 匹配元素集中包含的元素数量 size: function() { return this.length; },
经测试证明,.length()
的速度比 .size()
更快 (jsperf 测试结果 https://www.php.cn/link/5208093bcaf65dfea07bdab31d600223 jQuery 中为什么还有 .size()
函数呢?我的初步猜测是,他们将其保持抽象,以便将来如果需要不同的 .length
计算方法,它可以提供向后兼容的 API。您可能见过常见的用法:
// 检查 DOM 元素是否存在 if ($('#id').length > 0) { ... }
简而言之,除非有人给我充分的理由不用 .length
,否则我会一直使用它。
在 JavaScript 中,size
和 length
都用于确定对象中的元素数量。但是,它们用于不同类型的对象。length
属性用于数组对象,而 size
属性用于 Map
和 Set
对象。数组的 length
属性返回数组中元素的数量。另一方面,Map
或 Set
对象的 size
属性分别返回对象中键值对或元素的数量。
与数组不同,JavaScript 中的对象没有内置的 size
或 length
属性。但是,您可以使用 Object.keys()
方法确定对象的大小(即它拥有的属性数量)。此方法返回对象自身属性名称的数组。然后,您可以获取此数组的长度以找出对象的大小。
length
属性与字符串一起使用吗?是的,您可以在 JavaScript 中将 length
属性与字符串一起使用。字符串的 length
属性返回字符串中字符的数量,包括空格和特殊字符。
在 JavaScript 中,数组的 length
属性反映数组中元素的数量。空数组不包含任何元素,因此其长度为 0。
是的,您可以在 JavaScript 中更改数组的长度。如果您增加长度,则值为 undefined
的新元素将添加到数组的末尾。如果您减小长度,则元素将从数组的末尾删除。
如果您尝试使用大于或等于数组长度的索引访问数组元素,JavaScript 将返回 undefined
。这是因为索引超出了数组的范围。
size
属性与数组一起使用吗?不可以,您不能在 JavaScript 中将 size
属性与数组一起使用。size
属性用于 Map
和 Set
对象,而不是数组。要确定数组中元素的数量,您应该使用 length
属性。
Map
或 Set
对象的大小?您可以使用 size
属性确定 JavaScript 中 Map
或 Set
对象的大小。此属性返回 Map
对象中键值对的数量或 Set
对象中元素的数量。
length
属性与 Map
或 Set
对象一起使用吗?不可以,您不能在 JavaScript 中将 length
属性与 Map
或 Set
对象一起使用。length
属性用于数组和字符串,而不是 Map
或 Set
对象。要确定 Map
对象中键值对的数量或 Set
对象中元素的数量,您应该使用 size
属性。
size
属性和 length
属性有什么区别?就性能而言,JavaScript 中 size
属性和 length
属性之间没有显着差异。这两个属性都提供了一种快速有效的方法来确定对象中元素的数量。但是,两者之间的选择取决于您正在使用的对象类型。length
属性用于数组和字符串,而 size
属性用于 Map
和 Set
对象。
以上是我在JavaScript中使用.size()还是.gength?的详细内容。更多信息请关注PHP中文网其他相关文章!