`
water84222
  • 浏览: 375345 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

js解析顺序

 
阅读更多
浅析js解析顺序收藏

==========================================先看第一部分比较======================================



   1. <SCRIPT LANGUAGE="JavaScript">
   2. <!--
   3.     /***************************
   4.      *
   5.      *      JS的解释顺序
   6.      *
   7.      ***************************/
   8.
   9.
  10.      //首先看第一段代码
  11.
  12.      var myfunc = function(){
  13.         alert("hello");
  14.      };
  15.
  16.      myfunc();// 第一次调用myfunc,输出hello
  17.
  18.      myfunc = function(){   
  19.         alert("yeah");
  20.      };
  21.      myfunc();// 第二次调用myfunc,输出yeah
  22. //-->
  23. </SCRIPT>



==========================================再看第二部分比较======================================

   1. <SCRIPT LANGUAGE="JavaScript">
   2. <!--
   3.     /***************************
   4.      *
   5.      *      JS的解释顺序
   6.      *
   7.      ***************************/
   8.
   9.
  10.      //首先看第一段代码
  11.
  12.      function myfun(){
  13.         alert("hello");
  14.      };
  15.
  16.      myfun(); // 竟然输出yeah
  17.
  18.      function myfun(){
  19.         alert("yeah");
  20.      };
  21.
  22.      myfun(); // yeah
  23. //-->
  24. </SCRIPT>



==========================================再看第三部分比较======================================

   1. <script>
   2.      //首先看第一段代码
   3.
   4.      function myfun(){
   5.         alert("hello");
   6.      };
   7.
   8.      myfun(); // hello
   9. </script>
  10.
  11. <script>
  12.
  13.      function myfun(){
  14.         alert("yeah");
  15.      };
  16.
  17.      myfun(); // yeah
  18.
  19. </script>



通过这3部分区别的比较可以得出结论:



       原来JS引擎并非一行行去分析和执行程序,而是一段一段的执行(如3),而且在同一段程序的分析执行中,定义式的函数语句会被优先执行。函数定义执行完以后才会按顺序执行其他语句代码,所以(如2)的原因是第一个函数的语句定义被第二个函数覆盖了。所以两次都是执行最后一个函数逻辑了。
分享到:
评论

相关推荐

    第六章:js解析顺序和作用域1

    一、JavaScript解析顺序 1. 定义阶段: 在这个阶段,JavaScript引擎首先会处理`var`声明的变量、函数定义以及函数参数。这个过程称为变量提升(Hoisting)。 a) `var`声明的变量:在这一阶段,变量被创建,但...

    js解析多种写法的lrc歌词

    JavaScript(简称JS)是一种广泛用于Web开发的轻量级脚本语言,它在浏览器环境中运行,为网页添加交互性。LRC(Lyric)是一种歌词文件格式,常用于存储带有时间戳的歌词,使得音乐播放时能同步显示歌词。本文将深入...

    JavaScript执行顺序

    ### JavaScript执行顺序详解 #### 一、HTML文档流与JavaScript执行顺序 JavaScript作为一种网页脚本语言,其执行顺序直接影响到脚本的运行效果和页面的行为。理解JavaScript代码是如何按照顺序被执行的是开发高...

    html中嵌入js执行顺序_html中嵌入js执行顺序_

    了解JavaScript的执行顺序对于优化网页性能和避免潜在的错误至关重要。以下是对这一主题的详细解释。 首先,HTML文档遵循自上而下的解析规则。浏览器在遇到`&lt;script&gt;`标签时会暂停HTML的解析,转而执行脚本内容。...

    html中js代码的加载顺序

    在HTML文档中,JavaScript代码的加载顺序是网页解析过程中至关重要的一部分。这关乎到脚本何时执行、页面元素的渲染以及整个用户体验。理解这一过程对于优化网页性能和编写高效的JavaScript至关重要。 首先,我们要...

    JavaScript 全面解析各种浏览器网页中的JS 执行顺序

    在不同的浏览器中,JavaScript 的执行顺序主要受到代码加载和解析方式的影响。常见的 JavaScript 引入方式包括在 HTML 中直接嵌入、外部文件引入、在 JavaScript 代码中动态创建 script 标签引入外部脚本等。 首先...

    javascript的解析执行顺序在各个浏览器中的不同

    根据提供的文件信息,我们将详细解析关于JavaScript解析执行顺序在不同浏览器中的差异以及实验设计的相关知识点。 首先,标题中提到的“解析执行顺序”指的是JavaScript代码在浏览器中是如何被解析和执行的。由于...

    fparse:JavaScript公式解析器

    JavaScript公式解析器 fparser提供了一个Formula类,该类将包含数学公式(例如x*sin(PI*x/2) )的字符串解析为可评估的对象。 然后,可以为所有未知变量/函数提供值,并从公式中计算出数值。 有关示例应用程序,请...

    JS多个异步请求 按顺序执行next实现解析

    在js里面,偶尔会遇见需要多个异步按照顺序执行请求,又不想多层嵌套,,这里和promise.all的区别在于,promise或者Jquery里面的$.when 是同时发送多个请求,一起返回,发出去的顺序是一起;这里是按照顺序发请求 ...

    网页按顺序加载 最后加载js广告

    在这个过程中,浏览器会按照HTML、CSS、JavaScript的顺序逐行解析资源,最后加载JS广告。这样的加载策略有助于优化用户体验,因为主要内容可以更快地呈现给用户,而广告通常被视为非关键元素。 首先,我们来看网页...

    详解关于html,css,js三者的加载顺序问题

    在标签中加入defer属性,可以让浏览器将JavaScript脚本的下载与DOM解析并行进行,但会等到DOM文档完全解析后再执行脚本。async属性告诉浏览器该脚本是异步下载和执行的,不需要等待其他脚本或CSS文件的加载完成。这...

    python爬虫 - js逆向之猿人学第三题请求顺序验证+请求头验证.pdf

    2. **模拟执行**:在Python中使用类似`execjs`或`JSDOM`的库来执行JavaScript,获取所需数据。 3. **请求头验证**:确保在请求中携带正确的头信息,例如`User-Agent`、`Referer`等,这些可能会影响到服务器的响应。 ...

    javascript按顺序加载运行js方法

    本篇文章将探讨如何在JavaScript中实现按顺序加载并运行JS文件。 首先,理解JavaScript的基本加载机制。默认情况下,浏览器会按HTML文档中`&lt;script&gt;`标签的顺序逐个下载和执行JS文件。然而,如果在`&lt;script&gt;`标签中...

    ASP.NET中不同部分的js代码的执行顺序

    ### ASP.NET中不同部分的js代码的执行顺序 在ASP.NET开发中,JavaScript代码的执行顺序对于确保页面逻辑正确运行至关重要。本文将详细介绍ASP.NET环境中不同位置JavaScript代码的执行顺序,帮助开发者更好地理解和...

    javascript解析XML

    文件`jsxml.html`可能是用来展示如何在HTML页面上使用JavaScript解析XML的示例,而`order.xml`则是包含结构化订单数据的XML文件。这两个文件的结合可以提供一个完整的案例,展示如何在实际项目中应用JavaScript解析...

    101、103、104电力规约报文解析工具

    2. 分析报文的发送和接收顺序,以验证通信的正确性。 3. 解码特殊功能码,理解命令含义,如读取数据、设置参数、执行控制命令等。 4. 检查校验和,确认数据传输的准确性。 5. 记录和存储报文,便于后续分析和故障...

Global site tag (gtag.js) - Google Analytics