JavaScript声明提升
来源:互联网 发布:2014年4月网络扫黄 编辑:程序博客网 时间:2024/05/16 07:44
首先先看几段代码:
1:
a = 2;
var a;
console.log(a); // 2
2:
console.log(b);
var b = 2; //undefined
3:
c = 2;
console.log(c);
var c; //2
为什么会这样呢?
编译阶段的一部分工作就是找到所有的声明(这里的声明是指定义声明,赋值声明不会被提升),用合适的作用域把它们关联起来。举个栗子:第二段代码中 var b = 2 —>
var b; b = 2;
这里 var b ;
会被提升,而b =2;是赋值声明,不会提升,会在原地等待执行阶段 。
困扰了我好久的问题终于搞懂了orz
更多请移步《你不知道的JavaScript》一书
0 0
- javascript变量声明提升
- javascript变量声明提升
- JavaScript声明提升
- JavaScript变量声明提升
- JavaScript 变量声明提升
- javascript变量声明提升
- javascript变量声明提升
- javascript中声明提升
- 浅谈JavaScript--声明提升
- Javascript变量声明提升
- 浅谈JavaScript--声明提升
- javascript变量声明提升(hoisting)
- javascript变量声明提升(hoisting)
- javascript中的函数声明提升
- javascript变量声明提升(hoisting)
- 浅谈JavaScript变量声明提升
- javascript变量声明提升(hoisting)
- javascript变量声明提升(hoisting)
- css3 学习小结
- Java 入门 之 泛型
- 2015年你到底错过了什么?!(有彩蛋!)
- jQuery学习之旅 9 动画效果
- 机器学习-Mean shift算法详解和实现
- JavaScript声明提升
- Reduce内存不足的解决方案
- 策略模式—笔记
- 产品经理的进阶学习
- 机房重构——视图
- Linux 防火墻設置
- webservice之标签详解
- [Android Studio 权威教程]断点调试和高级调试
- CRUSH map 定制实例解析