![](/img/trans.png)
[英]What is the correct way to use the javascript .onclick function?
[英]What is the correct use of the || in javascript
在下面的代码中,因为s为空d =“ test”,但是如果s =“ hello”,则d =“ hello”。
这是正确的吗? ||的正确使用方法是什么?
var s = null;
var d = s || "test";
alert(d);
|| 是“或”; 理解这里发生的事情有点诡计多端
var a=false;
var b=true;
result=a||b
将给出“结果”为真(因为b为真)。 发生的是:
如果你有
var a=true;
var b="test";
result=a||b
结果将为真; 因为不需要通过“ ||”逻辑检查其他值
与
var a=null;
var b="test";
result=a||b;
将首先检查a-它为null,它将转换为“ false”。 b是“ test”,非空,并转换为“ true”。 因此将分配b的值 。
是的,这是使用||的正确方法。 ; 您使用的功能也称为短路评估(因为它会尽早停止评估布尔表达式)
这可以工作,但是如果s评估为“ fassy”值,则将获得默认值,这可能不是您想要的。 一个更健壮但罗word的习语是
d = (typeof s === "undefined") ? "test" : s;
是的,除非s允许为空白或0(也是伪造的值),否则它是正确的
var s = null;
var d = s || "test";
var s = 0;
var d = s || "test";
var s = "";
var d = s || "test";
所有都会导致d被“测试”
||
是逻辑运算符。 当s不为null时,则(s)的条件为true,因此为d分配s的值,否则将其分配为'test'
||
是javascript中的OR
运算子
所以a||b
表示简单a OR b
您所问的问题的解释是id只是在js中做类似的事情,最终您会进入else块
if(null)
if(undefined)
所以s||"test"
表示不是null或未定义的那个,在这种情况下是test
是的,|| 符号只是完成“或”的工作。 当第一个条件为真时,它将返回那个条件..否则它将移至下一个条件...就这么简单...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.