JS预解析是什么?
在当前的作用域下,js运行之前.会有带有 var 和 function关键字的代码事先声明,
并在内存中安排好,然后从上到下的执行js代码.

JS预解析 js逐行执行

js对什么进行预解析
1> var 后面的变量
2> 函数
3> 函数传参的变量

1.通过var关键字定义的变量进行预解析的时候,都是声明declare,不管他有没有赋值,都会赋值为undefined。
凡是传参,直接赋值
alert(a);
var a = 1;
alert(b);
var b = function(){

}
alert(c);
var c;

2.function进行预解析的时候,声明而且定义了define,但它存储数据的那个空间存储的是代码是字符串,没意义


alert(a);//函数的字符串
function a(){
alert("预解析的function1")
}

3.预解析中想实现立即执行的函数 放到()一对括号当中去

(function fn(){
alert("预解析的function1")
}(2));闭包

(function(){
alert("预解析的function2")
}());

js在什么情况下会进行预解析
1.遇到<script><\script>标签对时
2.遇到函数时:因为变量是有作用域的。

什么情况下会改变预解析赋予的初始值?

有赋值功能的符号 = += *= /= ++ --

以上就是JS预解析是什么?的详细内容,更多请关注Work网其它相关文章!

09-14 13:21