1、首先 我们都了解知道 逻辑 或 || 逻辑与 && 在条件判断中的意义
if(A || B){ //A为true 或者B为true 条件就成立
}
if(A && B){ //A为true 并且 B为true 条件就成立
}
2、下面我们了解以下 逻辑或 || 逻辑与 &&在赋值操作中的意义
注意:只有 0 NaN ' ' null undefined 这5个是假,其余情况为真
A || B :先验证A的真假,如果A为真返回A的值 ,如果A为假返回B的值
A && B:A为真返回B的值,A为假返回A的值
&& 的优先级高于 ||
例子:
let a=0 || false
console.log(a) ;// => false 0为假返回 false
let b=1 || false;
console.log(b); // =>1 1为真返回1
let c=1 && 100;
console.log(c); // =>100 1为真返回 100
let d=0 && 100;
console.log(d); // =>0 0为假返回 0
f=0 || 1 && 2 || 3;
console.log(f); // =>2
//解析:
// && 的优先级高于 || 先算&&
// 1 && 2 =>2
// 0||2||3 0||2 =>2 2||3 =>2
运用:
function fn(x,callback){
//普通写法:如果x为传递 就给x赋值为0,传递了就什么都不做
// typeof x==='undefined' ? x=0:null
//用 || 写法:如果x为真 x就等于参数x 如果为假 默认值为0
x=x||0
// callback代表的是个回调函数 :我们需要保证他是一个函数才能执行
//普通写法:
// typeof callback ===‘function’ ?callback():null;
// &&写法:如果callback为真继续执行后边的 callback(),如果callback为假 则后边的不会再执行了
callback && callback()
}
fn()
fn(10)
fn(10,function(){})
笔记源于:珠峰培训
网友评论