javascript中的或运算(||)与三目运算(?:)

广告位招租
扫码页面底部二维码联系

在编程世界里,非常基础且重要的一种运算是【版权所有,侵权必究】【原创内容,转载请注明出处】逻辑运算,也就是通过判断条件来进行的运算【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。。在很多代码中,我们会经常看到一种奇怪的【作者:唐霜】未经授权,禁止复制转载。赋值方法:

【转载请注明来源】【作者:唐霜】【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】
var a = a || {};

这是什么意思?其实很简单,它等价于:【未经授权禁止转载】

【原创内容,转载请注明出处】【本文首发于唐霜的博客】原创内容,盗版必究。未经授权,禁止复制转载。
var a = a ? a : {};

但是为了深挖,我们来对这种方法进行详细的著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net讲解,从而方便你在今后的编程中更好的使用转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。这种方法。

未经授权,禁止复制转载。【本文受版权保护】【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net

或运算的解释原创内容,盗版必究。

转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】未经授权,禁止复制转载。原创内容,盗版必究。

或运算有多种理解方式,其中一种:著作权归作者所有,禁止商业用途转载。如果||左侧表达式的值为真值,则返回左侧转载请注明出处:www.tangshuang.net【版权所有,侵权必究】表达式的值;否则返回右侧表达式的值。简单的说,程序从左往右执行,转载请注明出处:www.tangshuang.net左边为真,那么就不往右执行了,如果左边为未经授权,禁止复制转载。【作者:唐霜】假,右边就要执行。不过执行的目的是为了得到boolean原创内容,盗版必究。【未经授权禁止转载】值,如果左边是一个表达式,那么执行的结果【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】无非是:null, undefined,本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。 Object, function, 0【原创内容,转载请注明出处】【版权所有,侵权必究】, 0以外的其他数, 字符串, R未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。20;”空字符串。除非是函数【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】或逻辑运算,否则很少直接得到true/f【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。alse。而上面这些值在进行逻辑运算之前【转载请注明来源】【转载请注明来源】,会被转换为true/false进行判断【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。,简单的||运算,我们可以重新写成if&【作者:唐霜】【本文受版权保护】#8230;else…的形式【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。

【作者:唐霜】【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。

总结就是,||运算左边为假,才会执行右边【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】,而||的返回结果为最后被执行的表达式返【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】回值。

本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】

或运算的运用转载请注明出处:www.tangshuang.net

本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】未经授权,禁止复制转载。

注意上面的表述中讲的是表达式,因此,将会【原创不易,请尊重版权】【关注微信公众号:wwwtangshuangnet】有很多形式被使用,而不是单单只有赋值的形【作者:唐霜】【版权所有】唐霜 www.tangshuang.net式。

【关注微信公众号:wwwtangshuangnet】【转载请注明来源】【本文首发于唐霜的博客】【本文首发于唐霜的博客】【未经授权禁止转载】

1.逻辑判断著作权归作者所有,禁止商业用途转载。

【版权所有,侵权必究】未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net【未经授权禁止转载】
if(a === 0 || a === "") {}

2.等效于三目运算的赋值用法【原创不易,请尊重版权】

【本文受版权保护】未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net
var a = a || b; // var a = a ? a : b;

3.等效于三目运算本文作者:唐霜,转载请注明出处。

【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。【本文受版权保护】本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】
var a = 10;while(1) {
  
  a -- || break;}

4.运算合并【原创不易,请尊重版权】

【版权所有】唐霜 www.tangshuang.net【作者:唐霜】著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。
update('key',value) || add('key',value); // 更新,如果不存在则添加

同理,&&也可以做类似的【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。操作

【转载请注明来源】【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】
add('key',val1) && add('key',val2) && add('key',val3); // 前面的添加成功才添加后面的,否则就不添加后面的

总结原创内容,盗版必究。

【原创内容,转载请注明出处】【转载请注明来源】【原创不易,请尊重版权】

我们之所以可以这样去变化的使用||运算,【原创内容,转载请注明出处】【转载请注明来源】最重要的原因是JavaScript在运算【原创内容,转载请注明出处】【本文受版权保护】中处理的方式和其他语言不同,比如在PHP原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net中就不能使用$a = $a || 'value';这种形式$a将得到一个boolean值。本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。PHP是将表达式运算后,再做一次逻辑运算【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】,返回逻辑运算的结果,而JavaScri【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。pt运算表达式后,判断表达式结果,根据逻【作者:唐霜】【原创内容,转载请注明出处】辑运算符,返回参与逻辑运算的表达式结果。

转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】【关注微信公众号:wwwtangshuangnet】

2016-08-16 4977

为价值买单,打赏一杯咖啡

本文价值49.77RMB