不管怎样,生活还是要继续向前走去。有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此。每件事到最后一定会变成一件好事,只要你能够走到最后。纸上得来终觉浅,绝知此事要躬行。
预解析:在当前作用域下,js运行之前,会把带有var和function关键字声明的变量先声明,并在内存中安排好。然后从上至下解析js语句。而且function的声明优先于var声明。
不多说,,直接上代码
正规写法:
var num=10; fun(); function fun(){ console.log(num);//undefined var num=20; }
预解析里:先将变量和函数提前,如下:
var num; function fun(){ var num; console.log(num);//undefined num=20; } num=10; fun();
第二种
var num=10; function dn(){ console.log(num);//undefined var num=20; console.log(num);//20 } dn(); //相当于以下代码 var num; function dn(){ var num; console.log(num); num =20; console.log(num ); } num=10; dn();
第三种
var a =18; ss(); function ss(){ var b=9; console.log(a);//undefined console.log(b);//9 var a='123'; } //相当于以下代码 var a; function ss(){ var b; var a; b=9; console.log(a); console.log(b); a='123'; } a=18; ss();
第四种
aa(); console.log(c1);//9 console.log(b1);//9 console.log(a1);//报错 function aa(){ var a1=b1=c1=9; console.log(a1);//9 console.log(b1);//9 console.log(c1);//9 } //相当于 function aa(){ var a1=b1=c1=9;//相当于 var a=9;b=9,c=9 var a1; a1=b1=c1=9; console.log(a1); console.log(b1); console.log(c1) } aa(); console.log(c1); console.log(b1); console.log(a1);
到此这篇关于JavaScript 预解析的4种实现方法解析就介绍到这了。要培养各方面的潜力,包括承受悲惨命运的潜力。更多相关JavaScript 预解析的4种实现方法解析内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!