本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/03/02/JavaScript%E4%B8%AD%E7%9A%84Hoisting/
摘要
本文主要讲述了:
- 什么是 Hoisting
- 变量
- 函数
正文
什么是 Hoisting
变量提升,是 JavaScript 的一种语法特性
JavaScript 允许开发者提前使用使用var
定义的变量、使用function
定义的函数而后再补充定义,即先上车后补票
注意:
- 区别于“使用从始至终从未定义的变量或函数”
- 尽管 JavaScript 支持这项特性,但并不推荐开发者使用它
变量
JavaScript 会提升变量的定义,但不会提升变量的初始化
如果开发者提前使用变量,由于初始化未被提升,因此变量的值为undefined
示例:
1 | console.log(foo); |
相当于
1 | var foo; |
函数
JavaScript 会提升函数的定义
示例:
1 | sayHello(); |
相当于
1 | function sayHello() { |
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2020/03/02/JavaScript%E4%B8%AD%E7%9A%84Hoisting/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2020/03/02/JavaScript%E4%B8%AD%E7%9A%84Hoisting/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。