【问题标题】:Javascript parameter with Array带有数组的 Javascript 参数
【发布时间】:2020-07-25 21:52:26
【问题描述】:

    var show=[
    "p1",
    "p2",
    "p3"
    ];
    var n;
    function show(n){
        for(n=1;n<=3;++n){
  
   
    document.getElementById("show").innerHTML=show[n];
        }
    }
<button onclick="show(1)">b1</button>
    <button onclick="show(2)">b2</button>
    <button onclick="show(3)">b3</button>
        
    <p id="show"></p>

当我分别单击 b1、b2、b3 时,我正在尝试打印 p1、p2、p3。我该怎么做。

【问题讨论】:

  • 重命名数组,它会覆盖同名的函数。此外,数组具有从零开始的索引。

标签: javascript html arrays function parameters


【解决方案1】:

您的代码有几个问题。

首先,不要用相同的名称命名你的变量和函数。在此示例中,您可以将数组重命名为 showArr

然后您需要删除 for 循环(这与您想要实现的目标背道而驰)。并且在获取带索引的数组项时需要传递index - 1

并且在全局范围内不需要变量n(这是多余的)。

var showArr = [
  "p1",
  "p2",
  "p3"
];

function show(n) {
  document.getElementById("show").innerHTML = showArr[n - 1];
}
<button onclick="show(1)">b1</button>
<button onclick="show(2)">b2</button>
<button onclick="show(3)">b3</button>

<p id="show"></p>

【讨论】:

    【解决方案2】:

    只是不要为变量和函数使用相同的名称show

    var show = [
      "p1",
      "p2",
      "p3"
    ];
    
    function showIt(n) {
      document.getElementById("show").innerHTML = show[n - 1];
    }
    <button onclick="showIt(1)">b1</button>
    <button onclick="showIt(2)">b2</button>
    <button onclick="showIt(3)">b3</button>
    
    <p id="show"></p>

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      相关资源
      最近更新 更多