看到if(currentId && currentLink.attr('href')!=currentId)这一步,脑子差点崩溃了,现在还蒙蒙的。
2 回答
这句的意思是currentId为true并且currentLink.attr('href')!=currentId为true时才执行程序。
if语句括号里的条件会强制转换成布尔值,也就是currentId也会转换成布尔值(true or false),而当currentId为空值时,转换成布尔值是false,如下
var currentId = ""; console.log(!!currentId); //结果为false,!!表示强制转换为布尔值 //重新给currentId赋值 var currentId = "#item2"; console.log(!!currentId); //结果为true
这样一来就好理解了,因为只要两个条件里面一个为false,就不用执行下面的程序了。
举报
0/150
提交
取消