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 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
jQuery 使用手册(一)
Sep 23 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
Mar 14 Javascript
jQuery之选项卡的简单实现
Feb 28 Javascript
jquery form 隐藏的input 选择
Apr 29 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
Feb 12 Javascript
关于JavaScript 原型链的一点个人理解
Jul 31 Javascript
表单元素值获取方式js及java方式的简单实例
Oct 15 Javascript
基于Vue实现页面切换左右滑动效果
Jun 29 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 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
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
PHP合并静态文件详解
2014/11/14 PHP
php 浮点数比较方法详解
2017/05/05 PHP
document.all与WEB标准
2020/05/13 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Python中return self的用法详解
2018/07/27 Python
Python中的引用知识点总结
2019/05/20 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
市场营销专科应届生求职信
2013/11/24 职场文书
注塑工厂厂长岗位职责
2013/12/02 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
爱我中华演讲稿
2014/05/20 职场文书
英文演讲稿开场白
2014/08/25 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python