javascript - 1&&2&&3 返回 3. 谁能解释一下原因
问题描述
我最近在一次采访中被问到这个问题。我知道在 JavaScript 评估中是从左到右的。1&&2 应该是假的吧?我在另一个问题中读到 1&&2 返回 2。并且 AND 返回第一个假值。但是感觉很模糊。有人可以详细说明吗?
解决方案
1 && 2 && 3
同样的
if (1) {
if (2) {
if (3) {
return 3
} else {
return 3
}
} else {
return 2
}
} else {
return 1
}
1 && 2 && 3 //3
1 && 0 && 3 //0
1 && false && 3 //false
false && 0 && 3 //false
1 && 0 && false //0
推荐阅读
- c++ - 用于图结构的 Dijkstra 算法
- r - 通过 future_mapply 应用的加速功能
- python-3.x - 从包含重复值的 3 个列表中创建 3D 图形
- javascript - 如何使用 util.promisify 对 NodeJs 中的函数进行承诺?
- python - DataFrame 对象没有属性“名称”
- php - 运行 SQL INSERT 以“错误 1064”结束
- c++ - 为什么 `uint64_t` 的模板特化与 Mac 平台上的 `unsigned long` 不匹配?
- reactjs - 如何增加图标可见性和点击范围的垂直标签宽度?
- pagination - 在材料表和 reactjs 中自定义分页的任何示例
- pandas - 如何从 python pandas groupby 对象中提取唯一行并将其保存在另一个数据框中?