javascript - 如何将数组的元素作为参数传递给 JavaScript 中的函数?

标签 javascript arrays function

对于这个幼稚的问题,我提前表示歉意,但我是 javascript 的新手。

下面的简单代码预计会更改网页中的图像。事实上,单击链接 A1 和 A2 之一即可完成这项工作;相反,B1 和 B2 则不然。

可能是因为函数不能将数组的元素本身作为参数,并且需要对其内容进行某种引用?

我看过这个问题How to pass an array as argument to a function in javascript? ,但是,如果我理解正确的话,它是将数组作为一个整体传递:“将数组传递给函数与传递任何其他类型没有什么不同......”。

感谢您的关注!

<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">
    var  images = new Array["1.bmp","2.bmp"];

    function changeImage(a) {
        document.getElementById("image").src=a;
    }
</script>

</HEAD>
<BODY>

<P onclick="changeImage('1.bmp');">A1</P>
<P onclick="changeImage('2.bmp');">A2</P>

<P onclick="changeImage(images[0]);">B1</P>
<P onclick="changeImage(images[1]);">B2</P>

<P onclick="changeImage(images[0]);window.alert(images[0]);">C1</P>
<P onclick="changeImage(images[1]);window.alert(images[1]);">C2</P>

<P><img id="image" src="3.bmp"></P>

</BODY>
</HTML>

最佳答案

您的images数组从未正确定义。

如果使用new Array定义数组,则必须像函数一样调用它,因此使用圆括号var array = new Array("1.bmp","2.bmp");

一种更简单且可能更常用的方法是这样做:

var array = ["1.bmp","2.bmp"];

所以你的整个代码将是这样的:

var  images = new Array("1.bmp","2.bmp");

function changeImage(a) {
  document.getElementById("image").src=a;
}
<P onclick="changeImage('1.bmp');">A1</P>
<P onclick="changeImage('2.bmp');">A2</P>

<P onclick="changeImage(images[0]);">B1</P>
<P onclick="changeImage(images[1]);">B2</P>

<P onclick="changeImage(images[0]);window.alert(images[0]);">C1</P>
<P onclick="changeImage(images[1]);window.alert(images[1]);">C2</P>

<P><img id="image" src="3.bmp"></P>

关于javascript - 如何将数组的元素作为参数传递给 JavaScript 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34928130/

相关文章:

javascript - 删除具有键值的嵌套数组中的对象

javascript - 使用 Truffle 测试 Solidity 合约中的事件

javascript - 我如何将 `do` 用作 RxJS 可出租运算符?

php - 转储到 JavaScript 数组的 HTML 文本破坏了我的代码

c - 具有给定元素数量的动态创建的数组

javascript - 从 React Context 命名的导入不能按预期工作

c++ - 使用后递增索引的数组分配中的异常安全

javascript - Meteor JS 全局函数

python - 有条件地将任意数量的默认命名参数传递给函数

javascript - 具有 Reduce 和 Filter 的数组