js 中逻辑运算符&&和||,位运算符&和|的总结

菜鸟学习的过程记录 ...._....

  • 逻辑运算符&&和|| ----(短路运算)

alert(a&&b) : 一般字面上理解a和b都为true的时候为true,否则返回false.
alert(a||b) : 字面理解a和b都为false的时候返回false,否则返回true.
下面的为具体运算结果

1||2     返回1
0||2     返回2
3||0    返回3
undefined||3  返回3
3||undefined   返回3

从以上可以看出,a||b a存在的时候,执行a; a不存在的时候,才会执行b

1&&2     返回2
0&&2     返回0
3&&0    返回0
undefined&&3  返回undefined
3&&undefined   返回undefined

从以上可以看出,a&&b a存在的时候,才会执行后面的b, a不存在的时候,只执行a,不执行后面的b

--故在写js中,以下情况可以应用:

var selectId = id || {};
if(APP && APP.name)    APP存在的时候才去执行APP.name
if(menu.title || default.title)   menu.title存在的时候取menu.title的值, 否则取默认的titlle的值

更强大的应用 (转自其他博客):

var add_level = 0; 
if(add_step == 5){ 
add_level = 1; 
} 
else if(add_step == 10){ 
add_level = 2; 
} 
else if(add_step == 12){ 
add_level = 3; 
} 
else if(add_step == 15){ 
add_level = 4; 
} 
else { 
add_level = 0; 
}

等同于

var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;

  • 位运算符&和|
    转化成二进制进行异或计算
    ----- ‘ | ’ :两个位只要有一个为1,那么结果都为1。否则就为0;
    ----- ‘ & ’:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨天是和周大爷在一起的三周年纪念日,去看了美女与野兽,是我喜欢的迪士尼电影。 贝儿和野兽的爱情,是所有童话故事中真...
    jibingxi阅读 195评论 2 0
  • 最近在准备单位的考试,没有时间写作,就写点随感吧。 这个考试来的有点突然,竞争又特别的激烈。预则立,...
    赵磊之阅读 191评论 0 0
  • 早上醒来,打开手机,发现朋友圈里全国各地都下雪了。 急忙起身拉开窗帘,透过窗户往外看,地上除了干巴巴的树叶和早已干...
    韩小冰阅读 422评论 4 6
  • 《贱爱》 爱一个人爱到不需要面子那是贱爱 《感冒》 只要和你在一起感冒也没啥关系 《喜欢》 喜欢一个人的同时你就要...
    何鲸洛阅读 231评论 0 0
  • 儿子,今天开始你要给自己定规则,游戏电视平时玩多久?周末节假日玩多久?你的普高才稳稳上去!现在趁记忆力最强时多多努...
    吴若阅读 303评论 0 0