基本的javascript代码执行

时间:2013-11-07 10:47:31

标签: javascript

为什么即使多次按下按钮后x变量仍然为假?

<p id="text">Bonjour</p>
        <button type="button" id="button">Push to tranform</button>
        <script>
        var x=true;
        document.getElementById("button").onclick=
            function(){
            if ($x=true) {
                document.getElementById("text").innerHTML="Au revoir";
                $x=false;
            }
            else {
                document.getElementById("text").innerHTML="Bonjour";
                $x=true;
            }
        };
        </script>

6 个答案:

答案 0 :(得分:3)

您的代码中存在几个问题:

  • 您没有在任何地方定义$x,您确实定义了x但未使用它。

  • 您的if不好:if ($x=true)应为if ($x==true)if ($x===true)

=是作业,而== / ===是比较/严格比较。

条件$x = true(这是一项作业)始终为真,因此$x始终为false

答案 1 :(得分:1)

在以下代码中,您指定值为TRUE,而非测试

if($x=true)

应该是

if($x==true)

答案 2 :(得分:0)

您将操作员=(分配)与=====混淆(比较或严格比较)

此外,您声明变量x并使用未在任何地方声明的变量$x

最后,当你测试一个booelan时,你不必将它与true或false进行比较,而是直接在你的条件声明中测试它的值。所以更喜欢if(x)if(x===true)

答案 3 :(得分:0)

  

为什么x变量保持错误

因为您已将其定义为x,但您正在设置$x

$xx不同。它们是两个不同的变量名称;设置一个并期望另一个改变永远不会起作用。

解决方案:从您正在使用它的变量名称中删除$个符号。


if ($x=true)也是错误的。

您需要使用==(双等)或===(三等)来进行比较。如果使用单个等号,则设置变量(即使在if()语句中)。

解决方案:将=更改为=====

答案 4 :(得分:0)

<p id="text">Bonjour</p>
    <button type="button" id="button">Push to tranform</button>
    <script>
    var x=true;

document.getElementById("button").onclick=
            function(){
            if (x===true) {
                document.getElementById("text").innerHTML="Au revoir";
                x=false;
            }
            else {
                document.getElementById("text").innerHTML="Bonjour";
                x=true;
            }
        };

答案 5 :(得分:0)

<p id="text">Bonjour</p>
        <button type="button" id="button">Push to tranform</button>
        <script>
        var x=true;
        document.getElementById("button").onclick=
            function(){
            if (x==true) {
                document.getElementById("text").innerHTML="Au revoir";
                x=false;
            }
            else {
                document.getElementById("text").innerHTML="Bonjour";
                x=true;
            }
        };
        </script>