function parents(elem){
var matched = [];
while ( (elem = elem[ 'parentNode' ]) && elem.nodeType !== 9 ) {
if ( elem.nodeType === 1 ) {
matched.push( elem );
}
}
return matched;
}
函数中加粗的句子为何!==9,而不是其他,或者省略elem.nodeType !== 9
9代document节点,它是最高节点,如果不做判断则无法继续往上查找父级节点