经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 09:44:42
经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!
xՒn@_Ž V8y%R*JzTTCJR>ڊ@RevvF-鱗*{ԁRaԬ17lc*.8:T2MC-#fMU> qF]/KރފNr.Picx&d.6_V0SzV=F[>"l*EɃte3Z bP[c,b;bf)5V [(<_fԾq.b{P;ī99P=H",Krs.0%YS\R~w0U%v?Z

经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!
经常看见有人在javascript中这样写 s=X||5;
测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

经常看见有人在javascript中这样写 s=X||5;测试下来发现如果X不为空就取X的值,否则取值为5,请给个正确的解释不然不敢随便使用!

javascript中0,null,undefine在与(&&),或(||),等于判断(==)中都会以false作为判断结果.

javascript中, ||是从左往右判断的,并且返回的是一个值. 按照1的描述, 凡是不为0,null,undefine,都会以true判断, 并且返回他的值. 

这里的s=X||5可以理解为"X有值则用X,没有就用5".

这个地方要特别注意一下, s=0||5这种情况, 按照上面的描述, 0实际上是判断为false的, 所以这里s的值会5. 这往往是与真实想法相悖的.