大家在学习JS时,对于变量提升和函数提升这个问题会不会有很多疑惑的地方?为什么要这么做?为什么不像其他动态语言一样,是从上到下逐句依次执行? 看过很多相关的文章,有人说这个的设计很低劣,它允许变量不声明就可以访问,这个问题让刚刚接触JS的人确实很不理解。 我们今天不说它是好还是坏,我们说下它究竟是怎么回事,应该怎么使用JS提升。 JavaScript提升是将所有声明提升到当前作用域顶部的默认行为,英文叫Hoisting。 在JavaScript中,可以在使用变量之后对其进行声明。 也就是说,可以在声明变量之前使用它。比如: x = 5; document.getElementById(de