javascript的执行顺序

1.默认情况下,浏览器是从上而下解析html代码,当然script嵌在html中,因此也会按照此顺序,并且外面引入的文件也不会改变此顺序。

2.任何的javascript代码在执行前都要进行编译

3.当解析到script则浏览器会调用js解析器,通常js解析器是先预编译,再解析执行,解析器对变量和函数声明进行了预编译。如果之前没有声明过,,编译器会在当前作用域声明一个变量,进行初始化,但此时变量并没有赋值

对于此种情况,编译器先会在当前作用域中声明一个变量,进行初始化,就是num(如果之前未声明过),但此时变量并没有赋值,所以就会有undefined

接下来,引擎会在作用域中查找该变量,如果能够找到,就会对它赋值,所以就会有下面的1。

4.函数编译

当有函数名相同时,后面的函数会替换前面的函数

5.js解析器是按照script片段来预编译和解析的,先编译第一个script片段然后执行,接下来再编译第二个script片段然后执行

6.

不同的script代码片段,变量是可以共享的(这是针对全局的变量和函数是可以共享的)。局部变量应当放到函数中。

在执行某个script代码片段时,如果此代码有问题,则会停止执行当前的script后面的代码,但是对后面的script片段没有影响。

时间: 2024-10-05 10:30:06

javascript的执行顺序的相关文章

javaScript代码执行顺序

javaScript是一种描述型脚本语言,由浏览器进行动态的解析和执行. 页面加载过程中,浏览器会对页面上载入的每个js代码块进行扫描. JavaScript是一段一段的分析执行的,在分析执行同一段代码中,定义式函数会 被提取出来优先执行.函数定义执行完毕后,才会按顺序执行其他代码. 一.代码块 JavaScript代码块是由一对script开始标签和结束标签包裹的一段代码. JavaScript是按照代码块来进行编译和执行的,代码块之间相互独立,但是前面执行的变量和方法,后面的代码块可以使用.

JavaScript之执行顺序

前言 接触js一段时间以来,觉得只是了解了很浅层的东西.对于很多基础的知识还是很欠缺的.所以开始使用博客来对这一部分的知识做个慢慢的记录和积累.相信积少成多,慢慢的将这一部分的知识攻克! 第一篇记录的不是相关的应用,而是很底层的知识---JavaScript解析引擎.想要了解这一部分的知识也是通过在项目中遇到的问题而联想到的. 问题的背景 在一段脚本中,执行的顺序是先将js文件中的alert()执行了一遍,然后当我具体调用到那个函数的时候再执行这个函数.当时看到就产生了一个疑问:执行函数之前为什

JavaScript执行顺序详细介绍

JavaScript执行顺序详细介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-04我要评论 这篇文章主要介绍了JavaScript执行顺序,有需要的朋友可以参考一下 之前从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我们可以直观感觉到这种执行顺序,当

JavaScript执行顺序详解

这篇文章主要介绍了JavaScript执行顺序,有需要的朋友可以参考一下 之前从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我们可以直观感觉到这种执行顺序,当然JavaScript代码的执行顺序是比较复杂的,所以在深入JavaScript语言之前也有必要对其进行剖析.1.1

javascript运行机制之执行顺序

前言 JavaScript是一种描述型脚本语言,它不同于java或C#等编译性语言,它不需要进行编译成中间语言,而是由浏览器进行动态地解析与执行.如果你不能理解javaScript语言的运行机制,或者简单地说,你不能掌握javascript的执行顺序,那你就犹如伯乐驾驭不了千里马,让千里马脱缰而出,四处乱窜. 那么JavaScript是怎么来进行解析的吗?它的执行顺序又是如何的呢?在了解这些之前,我们先来认识几个重要的术语: 代码块 JavaScript中的代码块是指由<script>标签分割

javascript的预编译和执行顺序

最近在复习javascript的事件处理时发现了一个问题,然后也是我来写javascript的预编译和执行顺序的问题 代码: 代码一<html> <head> <title>事件处理</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <script type='text/javascript'>

JS的预编译和执行顺序 详析

原文:JS的预编译和执行顺序 详析 最近在复习javascript的事件处理时发现了一个问题,然后也是我来写javascript的预编译和执行顺序的问题   代码:   复制代码 代码一 <html>   <head>     <title>事件处理</title>     <meta http-equiv="content-type" content="text/html;charset=utf-8"/>

JS的预编译和执行顺序 详析(及全局与局部变量)

最近在复习javascript的事件处理时发现了一个问题,于是总结一下:javascript的预编译和执行顺序的问题:   <html> <head> <title>事件处理</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <script type='text/javascript'> //页

Javascript的执行过程详细研究

下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我们可以直观感觉到这种执行顺序,当然JavaScript代码的执行顺序是比较复杂的,所以在深入JavaScript语言之前也有必要对其进行剖析. 1.1  按HTML文档流顺序执行JavaScript代码 首先,读者应该清楚,HTML文档在浏览器中的解析过程是这样的:浏览器是按着文档流从上到下逐步解析