Re: [问题] &&=和||=的意思?

楼主: warex14 (航)   2015-06-16 01:27:54
※ 引述《zpl ()》之铭言:
: ※ 引述《Adicia (爱迪希亚)》之铭言:
: : &&=
: : 进行&&运算,并将运算结果指定给左边的运算式
: : 例如,下面的运算是相同的:
: : x&&=y;
: : x=x&&y;
: : ||=
: : 进行||运算,并将运算结果指定给左边的运算式
: : 例如,下面的运算是相同的
: : x||=y;
: : x=x||y;
: :               摘自-张亚飞《Javascript +jQuery全能权威指南》
: : 以上的解说和范例完全看不懂@@
: : 我知道&&是and,||是or的意思
: : 它不是比较前后,最后得出的是布林值吗?
: : 它可以进行什么样的运算呢?相加之类的吗?
: : 新手学习中... 请多多指点,谢谢~~
: 更正 ||= 与 &&= 是as3才能用
: 一般而言我会在一些状况下使用这种写法
: “ ||= ”比较常用到,通常是在做默认值的时候会用到,
: 因为 || 的特性是当判断到可以是true的情况就回传
: ex:
: var x = 0 || false || 1234 || 5566 ;
: 则 x = 1234;
有点旧的文章了,但因为我是新手所以想来请教一下
我有点搞不懂 x=...||... ; 是在做什么。
google了"javascript ||" 好像"||"会被忽略掉,所以也就不知道该怎么办
所以就来这边请教各位高手。
我想问的是:
为什么 x = 0 || false || 1234 || 5566 ;
最后得出的会是 x=1234 ?
x = 0 || false || 1234 || 5566 ;←翻译成白话文要怎么解释阿?
应该不可能是“把 0或者false或者1234或者5566里面的其中一个值丢进x里”吧?
是指“把 0,false,1234,5566当中由左数过来第一个不是0或是false的值丢进x里”吗?
因为没看过这种写法,所以有点昏...
作者: iamnodoubt (Have Fun)   2015-06-16 01:50:00
因为 || 的特性是当判断到可以是true的情况就回传原文不是有讲?
作者: mmis1000 (秋月恋枫)   2015-06-16 01:51:00
|| 的意思是,如果左边的值不是空值(ex:false 0 [] '')就回传左边,否则就右边所以 (0) || (false || 1234 || 5566)(false) || (1234 || 5566)(1234) || (5566)1234
作者: tooto1985 ( )   2015-06-16 09:05:00
短路逻辑 Short-circuit evaluation用两个惊叹号可将任何东西转成布林值 !!1234 !!5566

Links booklink

Contact Us: admin [ a t ] ucptt.com