需要关于如何让代码正常工作的建议(将javascript函数链接到html元素)

需要关于如何让代码正常工作的建议(将javascript函数链接到html元素),javascript,html,arrays,dom,Javascript,Html,Arrays,Dom,我正在尝试将JavaScript链接到HTML并创建事件侦听器,但我的代码遇到了一个问题 HTML: 我想从中得到的是,通过一个随机函数,用一个预制数组中的随机字符串替换已经用HTML编写的文本。但是,我不确定我做错了什么以及为什么它不起作用。发现了两个问题: 数学!==数学 不要在变量周围加引号 const-句子=[“我是第一句话”、“第二句话报告”、“我是第三句话”、“你好”]; const randomIndex=Math.round(Math.random()*3); 函数clicky

我正在尝试将JavaScript链接到HTML并创建事件侦听器,但我的代码遇到了一个问题

HTML:

我想从中得到的是,通过一个随机函数,用一个预制数组中的随机字符串替换已经用HTML编写的文本。但是,我不确定我做错了什么以及为什么它不起作用。

发现了两个问题:

  • 数学
    !==<代码>数学

  • 不要在变量周围加引号

  • const-句子=[“我是第一句话”、“第二句话报告”、“我是第三句话”、“你好”];
    const randomIndex=Math.round(Math.random()*3);
    函数clicky(){
    document.getElementById(“switchy”).innerHTML=句子[randomIndex];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击)
    
    
    引用随机化器
    单击我

    发现两个问题:

  • 数学
    !==<代码>数学
  • 不要在变量周围加引号

  • const-句子=[“我是第一句话”、“第二句话报告”、“我是第三句话”、“你好”];
    const randomIndex=Math.round(Math.random()*3);
    函数clicky(){
    document.getElementById(“switchy”).innerHTML=句子[randomIndex];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击)
    
    
    引用随机化器
    单击我

    您是
    math.random()
    需要是
    math.random()
    。将
    randomIndex
    移动到
    click()
    函数中,这样每次单击“单击我”时它都会随机化。另外,
    document.getElementById(“switchy”).innerHTML=“句子[randomIndex]”;
    应该是
    document.getElementById(“switchy”).innerHTML=句子[randomIndex];
    数组变量周围没有引号。我添加了一个额外的段落元素,这样你可以在单击“单击我”时看到句子随机出现

    const-句子=[“我是第一句话”、“第二句话报告”、“我是第三句话”、“你好”];
    函数clicky(){
    让randomIndex=Math.round(Math.random()*3);
    document.getElementById(“句子文本”).innerHTML=句子[randomIndex];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击);
    
    引用随机化器
    

    单击我

    您是
    math.random()
    需要是
    math.random()
    。将
    randomIndex
    移动到
    click()
    函数中,这样每次单击“click Me”时它都会随机化。此外,
    document.getElementById(“switch”).innerHTML=“句子[randomIndex]”
    应该是
    document.getElementById(“switchy”).innerHTML=句子[randomIndex]数组变量周围没有引号。我添加了一个额外的段落元素,这样你就可以在点击“点击我”时看到随机出现的句子

    const-句子=[“我是第一句话”、“第二句话报告”、“我是第三句话”、“你好”];
    函数clicky(){
    让randomIndex=Math.round(Math.random()*3);
    document.getElementById(“句子文本”).innerHTML=句子[randomIndex];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击)
    
    
    引用随机化器
    

    单击我


    这使用函数调用获取随机数。我假设您希望0、1、2和3成为可能的结果,因为数组包含4个元素

    函数getRandomInt(最大值){
    返回Math.floor(Math.random()*Math.floor(max));
    }
    常量句子=[“我是第一句话”、“第二句话在报告”、“我是第三句话”、“你好”];
    函数clicky(){
    document.getElementById(“switchy”).innerHTML=句子[getRandomInt(3)];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击)
    

    单击我

    这将使用函数调用获取随机数。我假设您希望0、1、2和3成为可能的结果,因为数组包含4个元素

    函数getRandomInt(最大值){
    返回Math.floor(Math.random()*Math.floor(max));
    }
    常量句子=[“我是第一句话”、“第二句话在报告”、“我是第三句话”、“你好”];
    函数clicky(){
    document.getElementById(“switchy”).innerHTML=句子[getRandomInt(3)];
    }
    document.getElementById(“switchy”).addEventListener(“单击”,单击)
    

    单击我

    句子[randomIndex]中的引号太多;
    句子[randomIndex]中的引号太多
    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>Quote randomizer</title>
      </head>
      <body>
        <p id="switchy">Click me</p>
      </body>
      <script src="script.js"> </script>
    </html>
    
    const sentences = ["I am the first sentence", "Second sentence reporting in", "I am the third one", "Hello there"];
    
    const randomIndex = Math.round(math.random()*3);
    
    function clicky() {
      document.getElementById("switchy").innerHTML = "sentences[randomIndex]"";
    }
    
    document.getElementById("switchy").addEventListener("click", clicky);