我想知道在使用!
运算符代替==
运算符时,性能是否存在差异。
这是我的理解,如果我错了,请纠正我。
!
运算符-确实将所有位取反,对于整数,它超过32位用于翻转所有位。使用一个操作数,并在汇编代码中映射到not
运算符。
==
运算符-使用两个操作数,涉及CMP
以及最终JMP
的汇编操作,这很昂贵。
对于像下面这样的简单陈述,哪个执行得更好?
function(){
return (some operation) == 0
}
或
function(){
return !(some operation)
}