Rumah  >  Artikel  >  hujung hadapan web  >  JS预解析是什么?

JS预解析是什么?

PHP中文网
PHP中文网asal
2017-06-20 10:15:392666semak imbas

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.遇到