继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

js 学习笔记 1-03 !&& || break continue ++i i++

XuTuring
关注TA
已关注
手记 14
粉丝 9
获赞 45
布尔操作符

1.逻辑非 !

console.log(!{'a':1})//false 
console.log(!'')//true  
console.log(!'aaa')//false  
console.log(!123)//false
console.log(!0)//true
console.log(!Infinity)//false
console.log(!null)//true
console.log(!NaN)//true
console.log(!undefined)//true

2.逻辑与 &&

都为 true 才为 true;
逻辑与操作属于短路操作,即如果第一个操作数能够决定结果,那么就不会再对第二个操作数求值;
不能在逻辑与操作中使用未定义的值;
console.log({'a':1}&&'aa')//aa 如果第一个操作数为对象,则返回第二个操作对象
//如果第二个操作数是对象,则只有在第一个操作数求值结果未 true 的情况下才会返回该对象;
//如果两个操作数都是对象,则返回第二个操作数;
//如果有一个操作数是 null,则返回 null;
//如果有一个操作数是 NaN,则返回 NaN;
//如果有一个操作数是 undefined,则返回 undefined;

3.逻辑或 ||

有一个为 true 则为 true;
逻辑或操作也属于短路操作,即如果第一个操作数求值结果为 true,就不会对第二个操作数求值;
console.log({'a':1}||'aa')//{a: 1} 如果第一个操作数为对象,则返回第一个操作对象
//如果第一个操作数的求值为 false,则返回第二个操作数;
//如果两个操作数都是对象,则返回第一个操作数;
//如果两个操作数都是 null,则返回 null;
//如果两个操作数都是 NaN,则返回 NaN;
//如果两个操作数都是 undefined,则返回 undefined;
逻辑或的用途之一:避免为变量赋null或者 undefined;eg:
var  myObject=preferredObject || backupObject
//如果preferredObject的值不是 null,则它的值被赋给 myObject;
//如果preferredObject的值是 null,则backupObject的值将赋给 myObject;
break和 continue 语句
用于循环中精确地控制代码的执行。
break语句立即退出当前循环,强制执行循环后面的语句;
continue语句立即退出当前循环,但退出循环后从循环的顶部继续执行;

练习:找出1到100之间的质数(除了1和它本身以外不再有其他的因数,eg:2 3 5 7 )

var flag=0;
for(var i=1;i<=100;i++){
    for(var j=2;j<i;j++){
        if(i%j==0){//可以被1和自身的其他数除尽
            flag=1;
            break;//跳出j的循环
        }else{
            flag=0;
        }
    }
    if(flag==0&&j!=1){
        console.log(i)
    }
}
outfor:
for(var i=1;i<=100;i++){
    for(var j=2;j<i;j++){
        if(i%j==0){//可以被1和自身的其他数除尽
            continue outfor;//调到最外层循环  label 用法
        }
    }
    if(i!=1){
        console.log(i)
    }
}
var  i=6;
console.log(++i,i)//7,7   ++i是先加后赋值
console.log(i++,i)//7,8   i++是先赋值后加
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP