为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JavaScript
布尔操作符

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++是先赋值后加
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消