当表达式中的一个条件导致错误时,我可以依靠Javascript立即失败吗?
f = {'a':'b'};
if (f.a !== undefined || f.a === 'b') {
// Is this OK to use, because the second condition will never be evaluated?
}
Run Code Online (Sandbox Code Playgroud)
ale*_*lex 48
是的,这被称为短路评估.
对于AND逻辑运算符,如果第一个求值为false,则从不评估第二个,因为条件已经足够了解已经满足.
使用OR逻辑运算符,如果是第一个false,它将评估第二个.否则,如果第一个是true它将不会评估第二个(不需要).
这也是你看到...的原因
var a = function(b) {
b = b || 7;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12421 次 |
| 最近记录: |