【发布时间】:2016-08-03 08:30:50
【问题描述】:
我有以下代码:
function listToArray(list) {
var array = [];
for(var node = list; node; node = node.rest) {
console.log(node.rest);
array.push(node.value);
}
return array;
}
例如:像 [1, 2, 3] 这样的数组会以 { value: 1, rest: { value: 2, rest: { value: 3, rest: null }}} 这样的列表形式显示。
函数中for循环的条件最终会产生null。我的问题是,这个条件是如何工作的?通常你会有一个布尔表达式,例如:i <= 10。 AFAIK,null 不会评估为虚假值...那么条件如何工作?
【问题讨论】:
-
null是在 JavaScript 中是错误的 -
JS 中的虚假值:
false、0、空字符串、null、undefined、NaN。 -
为什么标题说 second 有条件?您的代码中只有一个条件。
-
@Barmar 抱歉,现在编辑; @alex,巴尔玛;为什么
'' == false等于true,而null == false不等于?
标签: javascript