逻辑与和逻辑或
1在条件判断中使用她们
2在赋值操作中,我们有时也会使用她们
undefined是false(0)
Var A=1||2:首先验证1是真还是假,若真,把1赋值给A,若为假,把2给A
Var A=1&&2:首先验证1是真还是假,若真,把2给A,若假,把1给A
Function fn(x)
{//给形式参数赋值默认值:验证传递参数值,如果没有传递实參,其默认值为零
l If(x===undefined)//三个等号
{x=0}
l If(typeof x===’undefined’)
{x=0}
l X=x||0(没有上述严谨,if这种是没传值,才会赋值默认值,这种是不传值或者传递的值是假,都让它等于零)
}
Function fn(callback){
If(typeof callback===‘function’){
Callback();}
Callback &&callback();//上面if判断的简写版(不严谨):默认callback要不然就传函数,要不然就不传
}
Fn(function(){})//把一个函数作为值传递给形參,这种机制叫做回调函数
3逻辑与和逻辑或的混合应用模式
(逻辑与的优先级大于逻辑或)
Console。Log(0||1&&2||0||3&&2||1)//2
4逻辑或的实战应用:形參赋值默认值(初始化形參)
//es6新语法规范中可以直接给形參设置默认值
Function fn(x=0){}fn();
//如果x没有传递值(undefined也是没有传递值),默认值是零,一旦传递值,不管传递的是啥,都是按照传递的值处理的
var a=9;
function fn(){
a=0;
return function(b){
return b+a++;}}//函数返回值,就将作用域销毁,若返回地址则不销毁
var f=fn ();
console.log(f(5));
console.log(fn()(5));//进入fn函数,然后将5赋值给b
console.log(f(5));
Console.log(a)//5 5 6 2
原文:https://www.cnblogs.com/yuan233/p/10311200.html