昨晚上课,老师用了类似这样的语法 fn&&fn.call(obj)
fn&&fn.call(obj) 这里的fn为回调函数.老师在课上也没过多解释这句是啥意思,然后我自己百度了下,这种写法其实是if语句的简写形式:if(fn){ fn.call(obj);}
若fn为null或者undefined 即为false,就不执行fn.call(obj) ,若fn存在,就执行回调函数.
顺便介绍下 短路与(&&)、短路或(||)
举例:A&&B A||B
1.&& 若首项A为false,则当前表达式即为false,不再执行B表达式
2.|| 若首项A为true,则当前表达式即为true,不再执行B表达式
ps:第一次写博,多多指教~
来源:https://www.cnblogs.com/slikes/p/8566588.html