2012-01-19 8 views
2

コード動作しない場合:&&の優先順位を持つ条件は

if (!IDTextField.value && !FirstNameField.value && 
    !LastNameField.value && !DateOfBirthField.value!GenderField.value) { 
    alert('No criteria Added'); 
    return; 
} 

すべてのテキストフィールドが空白のときalertが呼び出されていませんが。あなたが最後の二つの基準間の&&

を逃している

+0

完全に編集 – xbonez

答えて

3

それは次のようになります。このようなケースでは

if (!IDTextField.value && !FirstNameField.value && 
    !LastNameField.value && !DateOfBirthField.value && !GenderField.value) 

、それはこのようなあなたのif文をフォーマットするために多くの意味を行います

if ( !IDTextField.value 
     && !FirstNameField.value 
     && !LastNameField.value 
     && !DateOfBirthField.value  
     && !GenderField.value) 

このようにすれば、間違えたことはできません。

1

この小さな忌み嫌いは何ですか?

私はそれがあるべきだと思う
... !DateOfBirthField.value!GenderField.value 

... !DateOfBirthField.value && !GenderField.value 
2

あなたはこの

if (!IDTextField.value && !FirstNameField.value && 
    !LastNameField.value && !DateOfBirthField.value && !GenderField.value) { 
    alert('No criteria Added'); 
    return; 
} 

のようなコードを記述する必要がありますが、最後の二つの基準

1

間& &を逃しています&&が見逃されて、それを追加して試してみてください他のエラーがなければuld作業

2

xbonezは正しくなっています。あなたは最後の2つの式の間に& &がありません。

あまり重要でないものについては、||を使ってすべての式を評価し、すべての式を否定するのではなく、!を使用して否定を追加して、&&と評価したいと思います。これは間違っていない場合、この式を少し速くすることができます。

if (!(IDTextField.value || FirstNameField.value || 
    LastNameField.value || DateOfBirthField.value || GenderField.value)) { 
    alert('No criteria Added'); 
    return; 
} 

あなたはすべてあなたの意見を教えてください。

+0

を参照してください。すべてのnot(!)は演算子です。だから!x &&!yは事実上5つの操作です。に対して!(x || y)の3つの操作。 – meson10

関連する問題