【发布时间】:2020-03-01 15:53:43
【问题描述】:
我试图找出为什么 Safari 返回控制台错误而其他浏览器(如 Chrome)没有问题。 for of 循环中有一个简单的函数如下:
const links = document.querySelectorAll('ul > li > a');
console.log(links); // successful
for (const link of links) {
console.log(link); // successful
function logLink() {
console.log(link);
}
logLink();
}
<ul id='test'>
<li>
<a class='one' href='#'>test 1</a>
</li>
<li>
<a class='two' href='#'>test 2</a>
</li>
<li>
<a class='three' href='#'>test 3</a>
</li>
</ul>
Codepen:https://codepen.io/ns91/pen/oNNEKpP
在 safari 中打开上述可待因 URL 并打开您的 javascript 控制台。如您所见,在 Safari 中,函数 logLink(); 似乎没有记录链接变量,尽管它在 Chrome 中有效。
我得到的错误是:ReferenceError: Can't find variable: link
有谁知道为什么会这样,以及如何解决?
感谢您的帮助。
【问题讨论】:
标签: javascript safari