[英]Javascript what does <. undefined in console after console.log()
[英]What does || do in console.log() in javascript?
这是针对FizzBuzz的解决方案(它打印数字1到100,但打印“ Fizz”表示可被3整除的数字,“ Buzz”表示可被5整除的数字,“ FizzBuzz”表示可被两者整除的数字)。
for (var n = 1; n <= 100; n++) {
var output = "";
if (n % 3 == 0)
output += "Fizz";
if (n % 5 == 0)
output += "Buzz";
console.log(output || n);
}
我不懂||
在console.log(output || n);
通常,类似这样的布尔表达式的结果为true或false。
如果运算符为真,则OR运算符将调整左侧;如果运算符为假,则OR运算符将调整右侧。 相同:
var foo = output || n;
console.log(foo);
如果if
的输出没有,它将打印数字(n)。 这是||
在这里做;)
""
,空字符串,被认为是“在JavaScript falsy”值。 也就是说,在涉及布尔运算符的表达式中使用""
,将其视为false
。 MDN在JavaScript中提供了有关虚假值的资源 。
例如,代码段if ("") console.log("Hello, World!");
不会产生任何输出,因为if
语句将其表达式评估为false
。
对于您的FizzBuzz解决方案,应该在output
永远不要附加任何内容,表达式output || n
output || n
实际上将为false || n
false || n
,并且由于JavaScript计算布尔运算符的方式,该表达式的值将为n
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.