ファイルの先頭に次の行がある場合、.js
それを使用する関数を呼び出すと、どうしてclickButton
そうなるのnull
でしょうか。
HTMLで
<input type="text" onkeydown="toggle()" id="txt1" />
<input name="aButton" id="aButton" type="button" value="ButtonVal" />
JSで
//global variables
var clickButton = document.getElementById("aButton")
var state = false
function toggle()
{
if(!state)
/*here it says clickButton is null but if I put var clickButton =
document.getElementById("aButton") in this scope it works*/
clickButton.disabled = true
else
clickButton.disabled = false
}
また、nullとundefinedの違いは何ですか(私がチェックする方法ではありません)?nullが宣言されているが、値が割り当てられていないのに、undefinedが宣言されていないということですか?
つまり、この質問では、「プログラマーが何も割り当てていないプロパティは未定義になりますが、プロパティをnullにするには、nullを明示的に割り当てる必要があります」ということです。しかし、私が明示的にnullを割り当てたことは決してないことを保証できます。