下面的代码单独有意义,但我不明白当它组合成一个语句时它是如何工作的,如下所示。
我无法理解的那一行是“discard.test(word) || (......” 或 || 运算符在这个语句中做什么?
words.forEach(function(word) {
discard.test(word) ||
(word = word.replace(punctuation, ""),
stopWords.test(word.toLowerCase()) ||
(word = word.substr(0, maxLength),
tag_index[word.toLowerCase()] = word,
tags[word = word.toLowerCase()] = (tags[word] || 0) + 1));
});
||
之后的代码仅当discard.test(word)
返回错误时才会执行。
基本上就是这个,稍微纠正一下。
words.forEach(function(word) {
if (!discard.test(word)) {
word = word.replace(punctuation, "");
if (!stopWords.test(word.toLowerCase()) {
word = word.substr(0, maxLength);
tag_index[word.toLowerCase()] = word;
word = word.toLowerCase();
tags[word] = (tags[word] || 0) + 1);
}
}
});
这是一篇短文
if (!condition) {
}