【发布时间】:2019-08-14 14:26:06
【问题描述】:
我做了一些java脚本练习,让几个链接按字母顺序排列。
这里是 HTML
<a href="#"> a is good </a>
<a href="#"> c is good </a>
<a href="#"> b is good </a>
JAVASCRIPT:
const allhref= document.getElementsByTagName('a');
for (let index in allhref)
console.log(allhref[index].innerHTML);
<a href="#"> a is good </a>
<a href="#"> c is good </a>
<a href="#"> b is good </a>
看起来没问题,但是当我尝试将 txt 分配给 const 时,出现了错误(未捕获的 SyntaxError:意外的令牌 const)。这是代码。
const allhref= document.getElementsByTagName('a');
for (let index in allhref)
alltext = allhref[index].innerHTML;
console.log(alltext);
<a href="#"> a is good </a>
<a href="#"> c is good </a>
<a href="#"> b is good </a>
感谢您的回复。 这有点奇怪,我确实在我的电脑上测试过它有错误。 尝试不同的在线编辑器,没有错误。 这是代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
</head>
<body>
<a href="#">a is good </a>
<a href="#">c is good </a>
<a href="#">b is good </a>
<script type="text/javascript">
const allhref= document.getElementsByTagName('a');
for (let index in allhref)
const alltxt = allhref[index].innerHTML;
console.log(alltxt);
// console.log(allhref[index].innerHTML);
</script>
</body>
</html>
【问题讨论】:
-
使用
let或var而不是const可以在第一次分配后更改它 -
如果要更改值,为什么要使用
const? -
如果你得到一个 SyntaxError,它与分配没有任何关系。您提供的代码没有显示任何错误。
-
正如您在 sn-ps 中看到的,没有任何错误。我猜你在循环之前忘记了
const alltext;。您的问题无法重现。请提供一个minimal reproducible example 来显示您的错误消息。 -
正如我在第一次 sn-ps 中所说的那样,它是
alltext = allhref[index].innerHTML;。在最后一个 sn-p 中是const alltext = allhref[index].innerHTML;。这是一个巨大的差异。您不能将const用于要分配新值的变量。
标签: javascript arrays