Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查javascript布尔值的奇怪行为_Javascript - Fatal编程技术网

检查javascript布尔值的奇怪行为

检查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

大家好,我实际上在做一个简单的javascript检查布尔值。我知道这已经被问过很多次了。我对javascript相当陌生,这几乎都是关于basic的,不是吗

<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”是个问题。谢谢我从来不知道“地位”是个问题。谢谢