{
for (var i = 1, n = 0; i < oInput.length; i++)
{
oInput[i].checked && n++
}
oInput[0].checked = n == oInput.length - 1;
oLabel.innerHTML = oInput[0].checked ? "全不选" : "全选"
};
能不能告诉 我oInput[i].checked && n++ 这段是什么意思吗?
这个就是记住选中的checkbox的个数,如果左边的oInput[i].checked为true,才会执行后边的n++;如果左边的oInput[i].checked为false,则不换执行n++;逻辑运算符经常起到短路的作用,||或逻辑运算符,如果前边的值为真,即true,那么就不管后边的值是真是假,都返回真,对后边的值不进行检查,直接跳过执行下一条语句。&&与逻辑运算符,如果前边的值为假,即false,那么不管后边的值为真还是假,都返回假,对后边的值不进行检查,直接跳过执行下一条语句。