gpt4 book ai didi

javascript - 什么 jquery isArrayLike 检查 nodeType

转载 作者:行者123 更新时间:2023-11-30 17:31:49 24 4
gpt4 key购买 nike

在 jquery 中有一个名为 'isArrayLike' 的函数,它被许多函数使用,例如 $.each

function isArraylike( obj ) {
var length = obj.length,
type = jQuery.type( obj );

if ( type === "function" || jQuery.isWindow( obj ) ) {
return false;
}

if ( obj.nodeType === 1 && length ) {
return true;
}

return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;

我知道是用来看是否像数组,但不知道为什么是第二个if。

它检查 nodeType 以确保它是一个元素,为什么是 length?元素是否具有 length 属性?

谢谢

最佳答案

如果您发现没有意义的未记录代码,您可以做的一件事就是首先查看为什么有人编写它。这是添加 nodeType 检查的提交:

https://github.com/jquery/jquery/commit/3c7f2af81d877b24a5e5b6488e78621fcf96b265

从他们添加的测试来看,它是为了支持 form 元素,它将把这些元素视为一个控件数组。

关于javascript - 什么 jquery isArrayLike 检查 nodeType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22876188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com