什么叫变量提升?
原则上变量应该先声明后使用,但是程序员小白常常忘记声明就使用了变量,这样做js代码在执行的时候不报错,只是返回了一个undefined。这种情况就是变量提升。
计算机执行的时候会把未声明就使用的变量隐式的放到代码的最顶端。需要注意的是变量虽然发生了提升,但是给变量赋的值是不会随之提升的,所以就会得到结果undefined。
什么是函数提升?
与变量提升的意思差不多,先使用函数,后再声明函数,这种违背逻辑的事情在JavaScript中是允许的,这门语言就是这么灵活。
与变量提升不同的是,函数的返回值也会随之提升,所以你会发现在<script>标签中的任何地方都能调用函数并且使用函数的返回值。
发表评论 取消回复