基本显示数组值?

时间:2018-01-11 17:29:40

标签: javascript

才开始学习JavaScript。

为什么我的按钮不会显示“authors”数组中的值?

/* JavaScript file */
var authors = ['Ernest Hemingway', 'Charlotte Bronte',
  'Dante Alighieri', 'Emily Dickinson'
];

function ShowAuthors(authors) {
  for (i = 0; i <= authors.length; i++) {
    document.write(authors[i]);
  }
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <script src="./js/script.js"></script>
  <link rel="stylesheet" href="./css/style.css" />
</head>

<body>
  <div class="container">
    <input type="button" class="author" value="Show Authors" onClick="ShowAuthors()" />
  </div><br>
</body>

</html>

抱歉可怕的格式化,我是新来的。我可能错过了一些超级基本的东西......

1 个答案:

答案 0 :(得分:1)

正如其他人已经说过的那样,你没有传递作者,因为你有一个名为authors的参数,它不会使用你的js文件中定义的作者。

此外,当您遍历循环时,不应该对&lt; = length执行,因为数组是零索引。

最后,如果使用authors.join(', ')编写而不是循环遍历值而不添加任何其他格式,则代码的格式将更加干净。

/* JavaScript file */
var authors = ['Ernest Hemingway', 'Charlotte Bronte',
  'Dante Alighieri', 'Emily Dickinson'
];

function ShowAuthors() {
  document.write(authors.join(', '))
}
<!DOCTYPE html>
<html>

<head>
  <title></title>
  <script src="./js/script.js"></script>
  <link rel="stylesheet" href="./css/style.css" />
</head>

<body>
  <div class="container">
    <input type="button" class="author" value="Show Authors" onClick="ShowAuthors()" />
  </div><br>
</body>

</html>