【发布时间】:2019-01-22 18:31:35
【问题描述】:
我是 Javascript 的新手,我正在尝试理解逻辑运算符。我正在阅读这份文件: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_operators
例如:
var a1 = true && true; // t && t returns true
var a2 = true && false; // t && f returns false
var a3 = false && true; // f && t returns false
我得到这部分是因为变量是布尔值。我相信它与以下内容相同:
var a1 = 1 && 1; // t && t returns 1
var a2 = 1 && 0; // t && f returns 0
var a3 = 0 && 0; // f && t returns 0
但是当字符串出现时,我变得困惑:
var a6 = false && 'Cat'; // f && t returns false
var a7 = 'Cat' && false; // t && f returns false
var a5 = 'Cat' && 'Dog'; // t && t returns Dog
如何比较布尔值和字符串?每个字符串的布尔值是多少?
【问题讨论】:
-
我唯一理解的是假的,任何事情都是假的。但有兴趣了解两个字符串的 and 运算符。即使添加 10 和运算符,也会出现 lost 处的字符串。对于 OR 运算符,出现第一个字符串。但不知道为什么。但结果是对于任何定义的变量,and 运算符给出了 true 除了 false 和 null。
标签: javascript