我希望知道检查两个数字是否相等的最佳方法。
如果两个数字相等,我会生成一个检查1000万次的简单示例。
这是在javascript中,我以ms为单位评论结果。我用chrome
<html>
<head>
<script>
function goOn(arr)
{
var resul = 0;
var a = 50;
var b = 50;
var fechai = new Date();
for(i=0;i<10000000;i++)
{
//if(a ^ b === false) // 1359
//if((a & b) === a) // 160
//if(a === b) // 148
//if(!(a - b)) // 172
if((a & ~b) === 0) // 175
{
resul++;
}
}
var fechaf = new Date();
alert(fechaf - fechai);
}
</script>
</head>
<body>
<input type="button" value="View message" onclick="goOn()">
</body>
</html>
答案 0 :(得分:3)
用于检查相等性的最佳方法是相等运算符(==
或===
)使用这些方法中的任何其他方法只会导致代码大量混淆每个人而没有任何可辨别的性能影响。 (如果确实如此,这就是JavaScript,任何影响的方式都将完全取决于平台/浏览器。)
换句话说,不要做你想做的事。