相思资源网 Design By www.200059.com
预解析:在当前作用域下,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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无JavaScript 预解析的4种实现方法解析的评论...