&&和||的妙用
在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true
几乎所有语言中||和&&都遵循“短路”原理,如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
下面是在AngularJS中根据角色加载子模板的例子
<div ng-include="user.admin&&'edit.admin.html'||'edit.user.html'"> </div>
如果user.admin为true,则会去跑第二个表达式edit.admin.html,并且返回值为第二个表达式,edit.admin.html
如果user.admin为false,则user.admin&&'edit.admin.html'表达式为false,回去跑||后面的第三个表达式,第三个表达式为true,结果为第三个表达式的值