当我在闲暇时间阅读underscore.string函数时,我发现了这个奇怪的速记:
function count (str, substr) {
var count = 0, index;
for (var i = 0; i < str.length;) {
index = str.indexOf(substr, i);
index >= 0 && count++; //what is this line doing?
i = i + (index >= 0 ? index : 0) + substr.length;
}
return count;
}
法律声明:在使用上述功能之前,请三思而后行,务必注明underscore.string的贡献。
我将这行代码单独放在这里,以免浪费您的时间:
index >= 0 && count++;
我从未见过类似的东西。我不知道它在做什么。