javascript解析与执行
代码块的定义
- 代码块是由标签之间就是一个代码块。
代码块是相互独立的:一个代码块中的错误,不会影响其它的代码块。
前面的代码块中定义的变量,在后面的代码块中可以访问
JS预编译
-
JS源代码 ——预编译——执行
-
JS代码在执行之前,会先预编译
-
预编译过程是不可见的,它不会产生额外的文件
-
预编译期间:
1.扫描代码块,发现语法错误则会停止一切工作,报错!!!
没有语法错误,会做提升操作:
① 变量提升:把所有的var变量,提升到代码块的开始,并设定初值为undefined.
② 函数提升:把所有的用声明式定义的函数,提升到代码块的开始。
- 只提升加var的变量
定义变量有两种方式:
①显示声明,加了varvar a = 666