2017-12-21 9 views
0

私はプログラミングの世界に入っていて、早急に質問することで少し銃を飛ばしているかもしれませんが、読んでいる本から何かを理解できませんでした。要素パスワードボックスの変数を作成する必要があるのはなぜですか。変数に入力された値が保持されません。 〜申し訳ありません:コーディングブックを入手する - 理解変数

function checkPassword() { 
    var password = document.getElementById("passwordBox"); 
    var passwordGuessed = password.value; 

    if(passwordGuessed == "Ernest300") { 
     return true; 
    } 

    alert("I'm sorry, your login credentials were incorrect buddy!"); 
    return false; 
} 
+0

@NitinDhomseいいえありません。あなたが返品を持っている場合は、他の人の必要はありません – mplungjan

+0

あなたが求めているものはあまり明確ではありません。 'password'がすでにパスワードの値を保持していると思いますか? – JJJ

+0

この本ではこのように説明していますが、return文が関数を停止するため、else文は必要ありません。 – Dream5

答えて

1

document.getElementById("passwordBox") cは、入力に入力しただけの値よりも方法の詳細が含まれているHTML要素オブジェクトを返します。もしあなたが望むのであれば、var passwordGuessed = document.getElementById("passwordBox").value;のような1つの変数の代入だけで済ませることができますが、大部分は2行が読みやすく、要素オブジェクトから何かをチェックしたいかもしれません。値にアクセスする前に

+0

それは理にかなって、感謝teukkam ..本当にありがとう! – Dream5

0

必要がない限り、別のvarを作成する必要はありません。たとえば、次のように

function checkPassword() { 
    var password = document.getElementById("passwordBox").value; 
    if (password == "Ernest300") { 
     return true; 
    } 

    alert("I'm sorry, your login credentials were incorrect buddy!"); 
    return false; 
} 

またはさらに短い対

function checkPassword() { 
    var password = document.getElementById("passwordBox"); // gets the HTML object 
    var passwordGuessed = password.value; // gets the value of it 

    if(passwordGuessed == "Ernest300") { 
    return true; 
    } 
    alert("I'm sorry, your login credentials were incorrect buddy!"); 
    password .focus(); // reuse the var 
} 

- あなたが妥当性をテストしたい場合は、VARを使用することが常に賢明であるしかし:

function checkPassword() { 
    if(document.getElementById("passwordBox").value == "Ernest300") { 
     return true; 
    } 

    alert("I'm sorry, your login credentials were incorrect buddy!"); 
    return false; 
} 
+0

mplungjanありがとうございました。とても役に立ちました。ありがとうございます。 – Dream5

0

変数はありませんパスワードボックスに入力された値を保持しませんが、パスワードボックスHTML要素自体への参照を保持します。要素のvalueプロパティにアクセスして、パスワードボックスに入力された値を取得できます。

ここの変数はコードを読みやすくしますが、実際にはにはが必要です。スニペット全体を次のように書き換えることができました:

function checkPassword() { 
    if(document.getElementById("passwordBox").value == "Ernest300") { 
     return true; 
    } 

    alert("I'm sorry, your login credentials were incorrect buddy!"); 
    return false; 
} 
+0

それは物事をもっとはっきりとさせてくれる、ありがとう、ずっとロビー - 私はそんなことを考えていたので、何かが欠けているように感じました! – Dream5

関連する問題