2012-10-01 55 views
-2

你能告訴我下面兩個代碼的含義是否完全相同(在所有操作系統下,包括Mac,我無法測試)?這兩個js代碼有什麼區別嗎?

代碼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;} 

回答

2

第一個代碼是多餘的,你不需要if-else,第二個是比較正確的,但這更是正確的:

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

你能告訴我,如果以下兩個代碼的含義是完全一樣的

是Ť嘿。

我看到一個if有時在代碼塊。我的猜測是一些開發人員發現它更易於閱讀,或者空的if塊充當未來的佔位符。無論哪種方式,我都不使用或提倡這樣的編碼實踐。

0

它,但你應該使用===代替=的=或!==而不是!=。 三等於避免類型強制。

+1

雖然我同意'==='是很好的做法,在這種情況下不會有強制,因爲它總是一個字符串來比較字符串。 –

+0

這是一個很好的編碼習慣。顯然,OP是JS的新手,應該養成使用它的習慣。 – dbrin

+0

另一點是.val()可能會返回一個數組,如果字段是多值字段。 – dbrin

0

這將是相同的。您有:

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

if (not something) then do this-action 

相同,是嗎?