【发布时间】:2020-09-09 22:03:39
【问题描述】:
我试图找到这个问题的答案,如果我太愚蠢而无法找到它,请原谅我。 如果是这样的话,我很抱歉。但是我有这个循环,我不知道它为什么会这样做。 这是 Marjin Haverbeke 的“Eloquent JavaScript”一书中的一个练习(第 89 页,如果有人感兴趣的话)
我的问题是变量“node”如何作为第二条语句工作。
任何解释都非常感谢!
谢谢, 本
list = { value: 'one', rest: { value: 'two', rest: { value: 'three', rest: null }}};
function listToArray(list) {
let array = [];
for (let node = list; node ; node = node.rest) {
array.push(node.value);
}
return array;
}
console.log(listToArray(list));
输出:['一','二','三']
【问题讨论】:
-
它使用了 JavaScript 的 Truthiness 概念。有关详细信息,请参阅Truthy page on MDN
标签: javascript for-loop conditional-statements