Answers:
这是按位或。
由于按位运算仅对整数有意义,因此将0.5被截断。
0 | x是x,对于任何人x。
parseInt()
位比较非常简单,几乎无法理解;)看看这个“小问题”
8 4 2 1
-------
0 1 1 0 = 6 (4 + 2)
1 0 1 0 = 10 (8 + 2)
=======
1 1 1 0 = 14 (8 + 4 + 2)
按位与6和10将为您提供14:
alert(6 | 10); // should show 14
太混乱了!
alert(true | false) //yields 1; alert(true | true) //yields 1; alert(false | true) //yields 1; alert(false | false) //yields 0
本示例将为您提供帮助。
var testPipe = function(input) {
console.log('input => ' + input);
console.log('single pipe | => ' + (input | 'fallback'));
console.log('double pipe || => ' + (input || 'fallback'));
console.log('-------------------------');
};
testPipe();
testPipe('something');
testPipe(50);
testPipe(0);
testPipe(-1);
testPipe(true);
testPipe(false);