半空之境
2019-07-23 19:44
while(x && x.nodeType !== 1){
x = x.previousSibling;
}
//就是while循环里的判断条件里的 X !== 1怎么理解呢?
应该是该结点是否存在的意识,1可以表示为true
应该是1&&1的意思 本例该判断结果为真,所以执行while中语句。牵扯到运算优先级
但while(x!=null)等同while(x)
我尝试while(x!=1&&x.nodeTpye!=1)结果也对啊?
最佳回答有些许问题,并不是1可以表示true,while(x && x.nodeType != 1)不是指需要同时满足x != 1与 x.nodeType != 1两个条件,而是while(x)已经判断该节点是否存在,while(x)等同while(x != null).这样才是对的,你可以尝试将while(x && x.nodeType != 1)改成while(x != 1 && x.nodeType != 1),结果却是错的。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题