在 Safari 10 上出现此错误
当 const 的名称与页面上任何元素的 id
完全相同时发生。
const abc = document.querySelector("#abc"); //err
const abz = document.querySelector("#abc"); //no err
var abc = document.querySelector("#abc"); //no err
这有什么原因吗?
我知道您可以通过 window.abc 访问元素,这是部分原因吗?
测试:
<!doctype html>
<html><body>
<div id="alpha"></div>
<script>
const alpha = document.querySelector('#alpha');
console.log(alpha);
</script>
</body></html>
最佳答案
这显然是 Safari 在声明与选定 id 属性共享相同名称的 let/const 变量时遇到的问题。我像你一样用 const 声明了一些变量,但得到了同样的错误。改成让,还是搞定了。更改为 var 并且有效。
关于javascript - "can' t 创建隐藏全局属性的重复变量”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40091136/