私はJavascriptのチュートリアルを進めています。Boolean()
関数とIf...Else条件をテストしていました。
Webサイトにボタンが1つあります。ボタンをクリックすると、ブール変数の現在の状態(myvar
)と対応する状態(myvartxt
)が表示されます(つまりfalse
、「オフ」をtrue
意味し、「オン」を意味します)。これは、後でLEDのオン/オフを切り替えて、false / trueではなく、ON/OFFと表示したいためです。
ここで問題となるのは、ボタンをクリックするとブール値(myvar)の状態がfalseになりますが、これは正しいですが、myvartxt変数はOFFと表示されているはずのときにONになっています。分かりません。何か案は?よろしくお願いします!
ここでコードをすばやくテストします:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="demo1"></p>
<button onclick="myFunction()">Try it</button>
<script type="text/javascript">
function myFunction()
{
//Initial state
var myvar=new Boolean(0);
var myvartxt = "OFF";
//display current state of Boolean
var x=document.getElementById("demo");
x.innerHTML=myvar.toString();
//display corresponding ON -> true, OFF -> false
if (myvar) //INITIALLY THIS IS false (not a string) so why does it think this is true?
{
myvartxt = "ON";
}
else
{
myvartxt = "OFF";
}
var y=document.getElementById("demo1");
y.innerHTML=myvartxt;
}
</script>
</body>
</html>