这两个js代码有什么区别吗?

时间:2012-10-01 18:14:38

标签: javascript cross-browser cross-platform

你能否告诉我以下两个代码的含义是否完全相同(在所有操作系统下,包括我无法测试的Mac)?

代码1

if($('#mail1').val()==$('#mail2').val()){} 
else{
alert("Mail inputs don't match!");return;
}

代码2

if($('#mail1').val()!=$('#mail2').val()){
alert("Mail inputs don't match!");return;} 

4 个答案:

答案 0 :(得分:2)

第一个代码是多余的,您不需要if-else,第二个代码更正确,但这更加正确:

if($('#mail1').val() !== $('#mail2').val()){
  alert("Mail inputs don't match!");
  return;
} 

答案 1 :(得分:1)

  

你能否告诉我以下两个代码的含义是否完全相同

是的。

我有时在代码中看到 if块。我的猜测是一些开发人员发现它更容易阅读或 if块作为未来的占位符。无论哪种方式,我都不会使用或提倡这种编码实践。

答案 2 :(得分:0)

确实如此,但您应该使用===代替==或!==而不是!=。 三等于避免类型强制。

答案 3 :(得分:0)

会是一样的。你有:

if (something) then do nothing
else do this-action

if (not something) then do this-action

同样,是吗?