有人可以解释这种行为吗?
https://jsfiddle.net/td1qtyxL/9/
function checkSignsWeird(a,b){
var output = "";
if(a^b < 0){
output = "The "+a+" and "+b+" have DIFFERENT signs.";
}else{
output = "The "+a+" and "+b+" have the SAME sign.";
}
console.log(output);
}
基本上除非a^b
存储在变量中(或括在括号中),否则它不起作用。
checkSignsWeird(-50,40);
checkSignsWeird(60,70);
两者都产生相同的结果。
艾米我做错了什么还是这是一个错误?当它在 if 子句中或在其他地方时,按位的工作方式是否不同?我不经常使用按位,只是认为这很优雅,从这里跟进答案:检查两个整数是否具有相同的符号