代码块和预编译
来源:互联网 发布:管家婆软件初始密码 编辑:程序博客网 时间:2024/06/05 08:44
代码块
在js中,一个代码块指的是一对script标签包含的代码段
需要注意的是,每段代码块都是相互独立的,但是,在上一个代码块定义的全局变量可以在下一个代码块中直接使用,反之不行.
预编译
预编译的作用有两个:
1为扫描所有代码,判断有无语法错误
2为提示,如果没有错误,就进行变量提升和函数提升
变量提升和函数提升会把变量和整个函数体放在代码块即script的最前面因此,可以先使用,后定义函数
注意:不加var的变量不会报错,但也不会进行提升,所以类似如下会报错
console.log(a);a= 2;
提升:提升是预编译的事,他只管提升,不管逻辑问题.逻辑问题是执行时候的事,不归他管
所以,循环中,判断中,函数中,只要有var定义的变量,他都会提升,当然,如果用这样的方式定义的函数 var f = function(){}定义的函数,只提升f,不提升函数体
另外:如果定义一个变量和一个函数,起了一样的名字,console时的结果是函数.因为一等公民.
这里的一些问题,经常会把人搞懵逼.不过,如果懂了 执行上下文 基本是没什么问题的阅读全文
0 0
- 代码块和预编译
- 预编译和预处理
- 预编译和预处理
- VC预编译代码文件
- iphone 常用预编译代码
- 普通代码块,静态代码块和构造代码块
- 普通代码块、静态代码块和构造代码块
- 静态代码块、构造代码块和代码块
- 代码块和静态代码块
- 静态代码块和构造代码块
- 静态代码块和动态代码块
- 静态代码块和构造代码块
- Java - 代码块和静态代码块
- 代码块和迭代器
- java中的静态代码块、构造代码块、普通代码块和同步代码块总结
- 静态代码块,普通代码块,同步代码块,构造代码块和构造函数解
- java中的静态代码块、构造代码块、普通代码块和同步代码块总结
- java中的普通代码块、静态代码块、构造代码块和同步代码块
- USB2.0 速度识别--区分低速-高速-全速
- css-note
- [原创] Centos 安装部署 Hadoop 集群和 hive
- 为何要使用<merge\>标签
- win10无法安装成功,死循环
- 代码块和预编译
- Linux下系统密码破解
- 字典学习和稀疏编码
- CLODOP打印
- Bootstrap 表单
- UML之顺序图
- 1006. 换个格式输出整数 (15)
- ios中SEL ( @selector() )简析
- spring源码学习 spring-core(一)ASM包