Mon*_*onu 1 javascript conditional-operator logical-or
var a = '1';
console.log(a == ('2'||'1')?'hi':'hello');
Run Code Online (Sandbox Code Playgroud)
这样做条件失败为a = 1。由于此条件失败,它将 a 的值 1 与 2 进行比较。所以它总是打印你好。有没有办法检查“||”之后的值('1')所以它打印嗨?
分别列出不同的可能性:
a === '2' || a === '1' ? 'hi' : 'hello'
Run Code Online (Sandbox Code Playgroud)
或者使用数组和.includes:
['2', '1'].includes(a) ? 'hi' : 'hello'
Run Code Online (Sandbox Code Playgroud)
问题('2'||'1')在于那里的整个部分在进行比较之前被评估为单个表达式a,||如果它是真实的,它将评估为初始值。所以('2' || '1')决定'2'.
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |