Javascript函数使用未声明的变量

时间:2018-04-14 16:42:47

标签: javascript function getelementbyid

好吧,下面就是让导航缩小滚动但注意到了一些东西。即使我把nav.classList放在mainNav.classList中它仍然有效。我然后登录控制台和导航和mainNav返回相同的东西,即使没有声明导航。它发生在我的HTML中的每个ID中,所以如果我只输入id名称而没有getElementById,它仍然会注销该节点。我对它的原因有点困惑。这是ES6的新功能吗?

var mainNav = document.getElementById('nav'); //The whole navigation

window.addEventListener('scroll', function(){
  var scroll = window.pageYOffset | document.body.scrollTop;

  if(scroll < 100){
    nav.classList.remove('nav-shrink');
  } else {
    nav.classList.add('nav-shrink');
  }
});

1 个答案:

答案 0 :(得分:1)

这不是ES6特有的。如果你有一个带有ID的DOM元素,并将该ID用作变量名(不在其他任何地方声明),那么你将获得DOM元素:

<强>演示

&#13;
&#13;
console.log(hello);
&#13;
<div id="hello"></div>
&#13;
&#13;
&#13;