javascript变量声明前置
2014-08-25 13:04
190 查看
变量声明前置:
所谓的变量声明前置就是在一个作用域块中,所有的变量都被放在块的开始出声明,下面举个例子你就能明白了var a = 1; function main() { console.log(a);//1 } main();//输出1
上面代码输出的是外层变量a的值
var a = 1; function main() { console.log(a); var a = 2; } main()//输出undefined
问什么这样就输出undefined呢?是因为脚本在执行的时候会自动将变量声明前置,解析成如下:
var a = 1; function main() { var a; console.log(a); a = 2; }
所以输出的是undefined。
小结:
针对上述问题,我们在写javascript脚本时应该尽量将变量声明放在作用域的开始地方,这样就会避免上述问题了。有时候我们在开发时会遇到莫名其妙的问题,其实有些是我们并没有理解javascript的执行原理导致的,只有弄懂了,我们才能减少这样的错误,希望本文能够帮助你!
相关文章推荐
- javascript变量声明提升(hoisting)
- 如何使用前置声明取代包括头文件
- JavaScript变量声明与提升
- javascript变量声明提升(hoisting)
- c++类的前置声明
- 【C++学习与应用总结】2: 关于类型前置声明
- C++中前置声明的应用与陷阱
- 前置声明解决相互递归时的PLS-00313
- iOS学习笔记7 - 前置声明(Forward Declaration),@class与#import
- javascript变量声明 及作用域
- 【C++基础】C++之类的前置声明
- 在头文件中使用class进行前置声明
- 有类成员时,什么时候可以前置声明.什么时候需要#include .
- 对类前置声明和包含头文件的一点理解
- c++ 前置声明
- C++友元类使用之前置声明(定义变量)
- 前置声明
- c++ 之类的前置声明
- 关于JavaScript变量声明及其初始化的问题
- std::vector的前置声明