文章目录
一、预解析
1.什么是代码段?
一个script标签就是一个代码段。JS代码在执行时,是一个代码段一个代码段执行。
JS代码的执行分两个阶段:
JS代码在执行时,分成两个阶段,一个叫预解析,一个叫执行,预编译结束后,才会进入到执行阶段。
2.什么是预解析?
- (1)浏览器在执行JS代码的时候会分成两部分操作:预解析以及逐行执行代码
- (2)也就是说浏览器不会直接执行代码,而是加工处理之后再执行
- (3)这个加工处理的过程,我们就称之为预解析
预编译期间:
- (1)把声明提升:加var的变量就是被提升,function声明的函数也会提升,提升到代码段的最前面。
- (2)函数内部的局部变量,提升到函数体的最前面。
注意:变量的提升仅仅是声明函数的提升不只提升了声明,也提升赋值。
二、执行上下文和数据存储
1.全局对象
叫window 只要我们写的全局变量或在全局中写的函数,都会挂载到window上面。 GlobleObject===>GO 说白了,就是window对象
全局对象上,默认也有很多的东西,alert()…