JavaScript 预解析的4种实现方法解析


Posted in Javascript onSeptember 03, 2019

预解析:在当前作用域下,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 相关文章推荐
javascript编程起步(第六课)
Jan 10 Javascript
jQuery 获取对象 定位子对象
May 31 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
Jun 27 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
Aug 05 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
js实现添加删除表格(两种方法)
Apr 27 Javascript
在vue项目中使用md5加密的方法
Sep 14 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
Apr 03 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 #jQuery
js tab栏切换代码实例解析
Sep 03 #Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 #Javascript
Node.js学习教程之Module模块
Sep 03 #Javascript
vue动态绘制四分之三圆环图效果
Sep 03 #Javascript
微信小程序拼接图片链接无底洞深入探究
Sep 03 #Javascript
layui radio单选限制下一个radio单选的实例
Sep 03 #Javascript
You might like
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
vue-axios使用详解
2017/05/10 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
python sort、sorted高级排序技巧
2014/11/21 Python
Python制作爬虫采集小说
2015/10/25 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python实现批量注册网站用户的示例
2019/02/22 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
Python求离散序列导数的示例
2019/07/10 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
倡导文明标语
2014/06/16 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
政审证明材料
2015/06/19 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书