2014-09-04 59 views
0

在JavaScript中,查询布尔变量的值或测试两个字符串的等同性在性能方面是否存在显着差异。查询布尔变量与比较JS中的两个字符串

例如,其中的这些,如果有的话,是更有效的:

布尔例如:

var testBoolean = false; 

if (testBoolean) { 
    alert('false') 
} 

字符串例如:

var testString = 'false'; 

if (testString !== 'false') { 
    alert('false') 
} 

谢谢!

+0

布尔速度更快,因为您有一个少做比较。您已将测试设置为false,但在第二种情况下,您需要进行字符串比较并将结果推入IF条件(与此后的情况1相同) – 2014-09-04 16:46:15

+0

请注意,2个片段不等同。第一个将会失败if条件。第二个会传递和alert()'。 – 2014-09-04 16:47:39

+0

感谢您指出乔纳森,我现在编辑了这个问题。 – bravokiloecho 2014-09-04 16:51:14

回答

1
var testString = 'false'; 

if (testString === false) { 
    alert('I'm inside the if condition') 
} 

这不会进入if条件,因为“===”和“!==”操作符检查两个值,不像“==”和式“!=”操作符。但我认为这不是你的问题。

布尔运算速度更快,因为您只需少量比较即可。您已将测试设置为false,但在第二种情况下,您需要进行字符串比较并将结果推入IF条件(与此后的情况1相同)

+0

关于类型的第一点,这两个值都是字符串。假设也使用“true”,则条件可以通过。 – 2014-09-04 16:54:00

+0

是的你是对的,这是一个错字,现在编辑。 – 2014-09-04 17:02:20