2

以下はコードです。両方のコードが機能しますが、どちらがブラウザに適しているかを調べています

どのコードが正しいですか?

   <script>

document.getElementById("firstbtn").disabled=true;

</script>

また

<script>

document.getElementById("firstbtn").disabled='true';

</script>

比較するときも

if(document.getElementById("firstbtn").disabled ==true)

また

if(document.getElementById("firstbtn").disabled =='true')
4

2 に答える 2

3

ブール値を使用します。文字列は、ブール値にキャストされると として評価されるため、機能しtrueます。割り当てた"false"場合、その文字列も として評価されtrueます。

于 2013-10-11T09:44:29.593 に答える
1

falseJavaScript で評価される値を理解することは重要です。偽の値はundefinednullNaN0 -0""、およびfalseです。これは、他のすべてが次のように評価されることを意味しtrueます。

document.getElementById("firstbtn").disabled=true /* True */
document.getElementById("firstbtn").disabled="true" /* True */
document.getElementById("firstbtn").disabled="false" /* True */
document.getElementById("firstbtn").disabled="banana" /* True */
document.getElementById("firstbtn").disabled=1 /* True */
document.getElementById("firstbtn").disabled=4723598495 /* True */
document.getElementById("firstbtn").disabled=false /* False */
document.getElementById("firstbtn").disabled="" /* False */
document.getElementById("firstbtn").disabled=0 /* False */
document.getElementById("firstbtn").disabled=NaN /* False */

このため、上記でわかるように、「false」はtrue長さが 0 より大きい文字列として評価されます。

どちらが正しいかという問題については、どちらも正しいというのが答えです。どちらも仕事をこなします。disabled=trueただし、後で混乱する可能性を避けるために、単に を使用することもできます。

于 2013-10-11T09:48:01.377 に答える