检查javascript布尔值的奇怪行为
大家好,我实际上在做一个简单的javascript检查布尔值。我知道这已经被问过很多次了。我对javascript相当陌生,这几乎都是关于basic的,不是吗检查javascript布尔值的奇怪行为,javascript,Javascript,大家好,我实际上在做一个简单的javascript检查布尔值。我知道这已经被问过很多次了。我对javascript相当陌生,这几乎都是关于basic的,不是吗 <script> var boolValue = true; function f1() { if(boolValue == true) alert("This is true!"); else alert("This is false!"); } </scri
<script>
var boolValue = true;
function f1()
{
if(boolValue == true)
alert("This is true!");
else
alert("This is false!");
}
</script>
var布尔值=真;
函数f1()
{
if(布尔值==true)
警惕(“这是真的!”);
其他的
警惕(“这是假的!”);
}
问题是这个脚本从来都不起作用。即使布尔值设置为false,布尔值也为true。我不知道我是否遗漏了一些东西,但这对于我遇到的其他语言来说是非常微不足道的。在同一作用域的函数外声明了一个变量。我希望boolValue可以在f1()中访问?我也用===完成了这项工作
这就是我实际上在做的,我在玩关于JavaScript上的W3C basic简介的教程。我到处玩,我想在按钮上做一个切换效果,改变消息的往返
我所做的是:
<!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>
我的第一个JavaScript
JavaScript可以更改HTML元素的内容:
点击我!
这是一个演示
var状态=真;
函数myFunction()
{
如果(状态==真)
{
document.getElementById(“demo”).innerHTML=“Hello World!”;
状态=假;
}
其他的
{
document.getElementById(“演示”).innerHTML=“这是一个演示。”;
状态=真;
}
}
同时,将var设置为全局也不会改变它。如何在javascript中检查布尔值?特别是,更改函数外部声明的变量,并在函数内部更改该变量?但是,如果我将布尔值改为整数、0或1等信号。它起作用了。我想要的Want与boolean的行为类似
我在用歌剧。我没有其他浏览器来测试这个。谢谢大家! 问题在于变量名。全局使用时,
状态
指的是窗口
对象的成员<代码>窗口。状态由一个功能使用,该功能现在在大多数浏览器中被禁用,因此您无法再进行设置。有关更多信息,请参阅
然后,解决方案是要么为变量使用另一个名称(如
标志
或其他什么),要么将整个内容包装在一个函数中,使其成为局部变量。问题在于变量名称。全局使用时,状态
指的是窗口
对象的成员<代码>窗口。状态由一个功能使用,该功能现在在大多数浏览器中被禁用,因此您无法再进行设置。有关更多信息,请参阅
然后,解决方案是要么为变量使用另一个名称(如
flag
或其他名称),要么将整个变量包装在一个函数中,使其成为局部变量。您的第一个示例对我来说很好。将其作为参数传递,而不是使用这样的全局变量。并使用textContent
而不是innerHTML
。使用外部事件处理,而不是内联javascript。您还可以检查如下布尔值:if(boolValue)//true else//false它不存在什么问题???你能检查一下第二个例子吗?检查它是否切换?让我知道它是否有效。我似乎无法继续,但因为你们中的一些人说这个示例对我来说很有效。请这样做:if(status==“true”)
或if(status==“true”)
您的第一个示例对我来说很好。将其作为参数传递,而不是使用这样的全局变量。并使用textContent
而不是innerHTML
。使用外部事件处理,而不是内联javascript。您还可以检查如下布尔值:if(boolValue)//true else//false它不存在什么问题???你能检查一下第二个例子吗?检查它是否切换?让我知道它是否有效。我似乎无法继续,但因为你们中的一些人说这个例子对我来说是有效的。请这样做:if(status==“true”)
或if(status==“true”)
我从来不知道“status”是个问题。谢谢我从来不知道“地位”是个问题。谢谢