Javascript 使用if-else语句时未定义函数

Javascript 使用if-else语句时未定义函数,javascript,Javascript,当我点击页面上的pierre按钮时,图像应该会改变,我知道行可以工作,但当我按下按钮时,它说功能没有定义,我试着改变标签上的ID,但这也不起作用,我只是很困惑 <!DOCTYPE html> <html> <head> <title>Pierre Omidyar</title> </head> <script> var x = 0 function pierre

当我点击页面上的pierre按钮时,图像应该会改变,我知道行可以工作,但当我按下按钮时,它说功能没有定义,我试着改变标签上的ID,但这也不起作用,我只是很困惑

<!DOCTYPE html>
<html>
    <head>
        <title>Pierre Omidyar</title>
    </head>


<script>
    var x = 0
    function pierre() {
        if (x = 0) {
          document.getElementById('myImage').src='https://cdn3.pitchfork.com/longform/699/Pierre1.jpg'; 
            var x = 1
        } else {
            var x = 0
        }
    } 
</script>
    <body>
        <button onclick="pierre()" type="button">pierre</button>
        <br>
        <img height=50%  width=50% id="myImage" src="https://upload.wikimedia.org/wikipedia/commons/0/0b/Pierre_Omidyar_%2850911249%29.jpg"/>
        <audio loop id="no"><source src="https://codehs.com/uploads/9af74ff56cf4b8ed3809fba276efa59e" type="audio/mpeg"></audio>

    <p id="para">Hi, I'm Pierre Omidyar, I made eBay</p>
    </body>
</html>

彼埃尔·奥米迪亚
变量x=0
函数pierre(){
如果(x=0){
document.getElementById('myImage').src='10〕https://cdn3.pitchfork.com/longform/699/Pierre1.jpg'; 
变量x=1
}否则{
变量x=0
}
} 
皮埃尔

嗨,我是Pierre Omidyar,我是eBay的

调用该函数(不是
未定义的问题)

您的代码有两个问题

  • 您已经多次定义了
    x
    变量。这是不允许的
  • 如果(x=0){
    始终为false,我认为应该将其更改为
    x==0
  • 现在,这段代码可以工作了

    <!DOCTYPE html>
    <html>
        <head>
            <title>Pierre Omidyar</title>
        </head>
    
    
    <script>
        var x = 0;
        function pierre() {
            if (x == 0) {
              document.getElementById('myImage').src='https://cdn3.pitchfork.com/longform/699/Pierre1.jpg'; 
              x = 1;
            } else {
              x = 0;
            }
        } 
    </script>
        <body>
            <button onclick="pierre()" type="button">pierre</button>
            <br>
            <img height=50%  width=50% id="myImage" src="https://upload.wikimedia.org/wikipedia/commons/0/0b/Pierre_Omidyar_%2850911249%29.jpg"/>
            <audio loop id="no"><source src="https://codehs.com/uploads/9af74ff56cf4b8ed3809fba276efa59e" type="audio/mpeg"></audio>
    
        <p id="para">Hi, I'm Pierre Omidyar, I made eBay</p>
        </body>
    </html>
    
    
    彼埃尔·奥米迪亚
    var x=0;
    函数pierre(){
    如果(x==0){
    document.getElementById('myImage').src='10〕https://cdn3.pitchfork.com/longform/699/Pierre1.jpg'; 
    x=1;
    }否则{
    x=0;
    }
    } 
    皮埃尔
    
    嗨,我是Pierre Omidyar,我是eBay的


    您的代码中存在多个问题。以下是更新的代码

    
    JS-Bin
    var x=0;
    函数pierre(){
    如果(x==0){
    document.getElementById('myImage').src='10〕https://cdn3.pitchfork.com/longform/699/Pierre1.jpg';
    x=1
    }
    否则{
    x=0
    }
    }
    皮埃尔
    
    嗨,我是Pierre Omidyar,我是eBay的


    您刚刚用
    =
    指定了新值…读取JavaScript比较和逻辑运算符“…它说函数未定义”您的意思是在开发人员控制台中它会给出错误消息吗?考虑到您的代码,这是令人惊讶的。这通常发生在您的某个地方出现语法错误时,但我没有看到语法错误。
    if(x=0){
    总是
    false
    。允许重新声明变量。问题是函数的
    x
    隐藏了全局变量,即使函数的
    var
    if
    条件之后。它应该是一个切换,因此每次按下按钮时x都会在0和1之间切换,我不是我不确定你多次定义它是什么意思