JavaScript 预解析
2020-02-03 04:50
1061 查看
上一篇我们说到了作用域跟作用域,这篇说说js的预解析
预解析:在当前作用域下,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);
转载于:https://www.cnblogs.com/smile-xin/p/11389974.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- javascript解析xml
- 一个非常全面的javascript URL解析函数和分段URL解析方法
- 浅谈关于JavaScript解析XML文件的注意事项
- 进击JavaScript核心 --- (2)函数和预解析机制
- Javascript中eval解析的json的几种用法
- Javascript基础之-var,let和const深入解析(二)
- JavaScript中依赖注入详细解析
- JavaScript 正则表达式解析
- 分析一个JavaScript预解析的题
- JavaScript——预解析理解
- javascript 动态解析脚本
- hash.js Javascript/jQuery 解析/监听url hash
- Javascript 解析字符串生成 XML DOM 对象。
- 详尽解析event对象(javascript)
- JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
- JavaScript 预解析的原理及实现
- 44 个 Javascript 变态题解析 (上)
- javascript轻松实现调用xslt解析xml
- 自学javascript笔记_自用_解析W3school的代码
- 深入解析JavaScript中的数字对象与字符串对象