jQuery代码中的空块
jQuery 1.7rc1的第4140行:jQuery代码中的空块,jquery,Jquery,jQuery 1.7rc1的第4140行: while((elem=elem.previousSibling)和&elem.nodeType!==1){} 我觉得这很奇怪。相当于 while(elem&&elem.nodeType!==1)elem=elem.previousSibling?不,它不等同于您所拥有的。原代码: while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} 相当于: while
while((elem=elem.previousSibling)和&elem.nodeType!==1){}
我觉得这很奇怪。相当于
while(elem&&elem.nodeType!==1)elem=elem.previousSibling代码>?不,它不等同于您所拥有的。原代码:
while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
相当于:
while (elem.previousSibling && elem.previousSibling.nodeType !== 1) {
elem = elem.previousSibling;
// other code here
}
从逻辑上讲,它表示在存在previousSibling
和previousSibling的
节点类型时循环!==1
并将元素
分配给该以前的兄弟姐妹
原始while条件中的赋值是一个快捷方式,用于保存单独的赋值,并在节点类型中保存额外的参考级别
进一步分解while循环,如下所示:
while (elem.previousSibling) {
elem = elem.previousSibling;
if (elem.nodeType !== 1) {
break;
}
// other code here
}
本部分:
(elem = elem.previousSibling)
将elem.previousSibling
分配给elem
,然后评估elem是否真实。哇,我不知道他们在jQuery中做过这样的黑客。。。