首页 > 其他分享 >预解析

预解析

时间:2022-12-30 16:58:13浏览次数:34  
标签:function console log var num fun 解析

JavaScript代码是由浏览器中的JavaScript解析器来执行的,JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行。

 1.我们js引擎运行js 分为两步 预解析 代码执行   (1)预解析js引擎会把js里面所有的var function 提升到当前作用域的最前面   (2)代码执行 按照代码顺序从上到下执行  2.预解析分为 变量预解析(变量提升)和函数预解析(函数提升)     (1)变量提升 就是把所有变量声明提升到当前的作用域最前面 不提升赋值操作     (2)函数提升 就是把所有的函数声明提升到当前作用域的最前面 不调用函数   eg1:  console.log(num);  var num = 10  运行结果:undefined   相当于以下代码  var num  console.log(num);  num = 10   eg2: fun()  var fun=function(){       console.log(1);     } 运行结果:fun is not a function   相当于以下代码  var fun  fun()  fun=function(){       console.log(1);     }   eg3: fn() function fn() {       console.log(1);     } 运行结果:1   相当于以下代码 function fn() {       console.log(1);     } fn()   eg4:  var num = 10  fun()  function fun() {       console.log(num);       var num = 20     } 运行结果:undefined   相当于以下代码 var num function fun() {       var num       console.log(num);       num = 20     } num = 10 fun()                  

标签:function,console,log,var,num,fun,解析
From: https://www.cnblogs.com/xiao-wo-niu/p/17015266.html

相关文章

  • 美国电动自行车GCC认证解析
    自行车&电动自行车GCC认证办理流程如果你在亚马逊美国站上架成人自行车、儿童自行车、电动车等类目产品均需上传16CFR1512测试报告,否则将会被亚马逊进行下架产品、罚款等......
  • 手撕fft算法--fft原理和源码解析
    一前言 在音频信号处理中,fft变换是一个无法绕过过去的存在。借着一次算法出来的机会,把fft熟悉一下不为过啊。 二问题 这里,其实是由一个问题驱动的,那......
  • Dubbo 3 之 Triple 流控反压原理解析
    作者:顾欣Triple是Dubbo3提出的基于HTTP2的开放协议,旨在解决Dubbo2私有协议带来的互通性问题。Triple基于HTTP/2定制自己的流控,支持通过特定的异常通知客户......
  • Dubbo 3 之 Triple 流控反压原理解析
    作者:顾欣Triple是Dubbo3提出的基于HTTP2的开放协议,旨在解决Dubbo2私有协议带来的互通性问题。Triple基于HTTP/2定制自己的流控,支持通过特定的异常通知客户......
  • 用Python解析XML的几种常见方法的介绍
    一、简介XML(eXtensibleMarkupLanguage)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用。它是web发展到一定......
  • netstat -st输出解析
    转载自:http://perthcharles.github.io/2015/11/10/wiki-netstat-proc/netstat-st输出的两个重要信息来源分别是/proc/net/snmp和/proc/net/netstat本文将分类整理这些co......
  • 【维生素C语言】画图解析C语言指针笔试题
    原标题:“祖安猎码人”在线手撕代码画图解析【C指针笔试题】前言:C语言指针笔试题,建议做完后再看答案。本篇博客有详细的解析部分,对每一道题进行深度的画图解析。如果你想复......
  • 深入 JVM 字节码,解析类加载、链接、初始化、创建对象、对象初始化、程序执行的流程
    概述:本文通过引入一道面试题来解析类加载、类链接、类初始化过程,以及创建创建对象、对象初始化和程序执行的过程。你将收获:1、精通类加载、类链接、类初始化过程2、深入源码......
  • 万字长文解析Scaled YOLOv4模型(YOLO变体模型)
    一,ScaledYOLOv4摘要1,介绍2,相关工作2.1,模型缩放3,模型缩放原则3.1,模型缩放的常规原则3.2,为低端设备缩放的tiny模型3.3,为高端设备缩放的Large模型4,Scaled-YO......
  • IBM JDK IDEA无法解析符号“String”,报错:Cannot resolve symbol ‘String‘.
    idea在使用IBMJDK8时,会出现报错:Cannotresolvesymbol'String',前提是使用OracleJDK没问题,这是IBMJDK的已知问题。这是IBMJDK特有的已知问题。解决方法是手动将JDK_H......