大家好我实际上是在做一个检查布尔值的简单javascript。我知道这已被问过很多次了。我是javascript的新手,这几乎都是关于基本的isn&#t; t?
<script>
var boolValue = true;
function f1()
{
if(boolValue == true)
alert("This is true!");
else
alert("This is false!");
}
</script>
事情是这个脚本永远不会起作用。 boolValue为true,即使boolValue设置为false。我不知道我是否在这里遗漏了一些东西,但这对我遇到的其他语言来说是微不足道的。您有一个在同一范围内的函数外声明的变量。我希望bo1Value可以在f1()中访问?我也用===做了这个。
所以这就是我实际在做的事情我正在玩关于JavaScript的W3C基础介绍的教程。我玩了一下,我想在按钮上做一个切换效果,改变信息的来回。
所以我在这做了什么:
<!DOCTYPE html>
<html>
<body>
<h1>My First JavaScript</h1>
<p>JavaScript can change the content of an HTML element:</p>
<button type="button" onclick="myFunction()">Click Me!</button>
<p id="demo">This is a demonstration.</p>
<script>
var status = true;
function myFunction()
{
if(status == true)
{
document.getElementById("demo").innerHTML = "Hello World!";
status = false;
}
else
{
document.getElementById("demo").innerHTML = "This is a demonstration.";
status = true;
}
}
</script>
</body>
</html>
同时将var变为全局也不会改变它。你如何检查javascript中的布尔值?特别是,更改在函数外声明的变量并在该函数内更改该变量?但是,如果我将布尔值更改为整数,0或1等信号。它可以工作。我想要的是与布尔类似的行为。
我正在使用Opera。我没有其他浏览器来测试这个。谢谢!
答案 0 :(得分:4)
问题在于变量名称。在全局使用时,status
引用window
对象的成员。 window.status
被大多数浏览器中禁用的功能使用,因此您无法再设置它。有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window.status。
然后解决方案是为变量使用另一个名称(如flag
或其他东西)或将整个事物包装在函数中,使其成为局部变量。