javaScript的运行机制?

看到这个题目的时候你会迷茫,不知道如何回答,感觉你好像不了解javaScript一样,不了解哪些你指尖轻巧的代码?

第一步:执行代码块:也就是执行<script></script>   代码块之间是独立的

第二步:执行函数

拓展:定义函数的方式有哪些:

  1. 声明函数:Function a(){};
  1. 表达式函数:var bb =function(){}

两者的区别:调取先后顺序的区别

<script>
    //方式1  声明函数先调取后声明
    aa();
    function aa (){
        console.log("我是声明函数");
    }
    //方式2 表达式函数先声明后调取
    var bb = function (){
        console.log("表达式函数");
    }
    bb();</script>

第三步:执行~分为预编辑期和执行期

如果成功 不报错 那就运行机制 结束

如果报错 抛出异常 那就执行下一个代码块

拓展:预编译期和执行期

javascript会分块的进行预编译,预编译期会处理所以使用var声明的变量以及使用function的函数会被处理,但var声明的变量只进行索引,而不处理赋值,赋值在执行期处理,而function的函数会处理函数体。

例:var x=1 在预编辑期 他等价于 var x告诉浏览器这个变量,但是不会执行赋值语句,当预编译完成,进入执行期才会执行 x=1这部分。

时间: 2024-10-09 20:58:24

javaScript的运行机制?的相关文章

一段代码说明javascript闭包运行机制

如果你能理解下面代码的运行结果,应该就算理解闭包的运行机制了. var name = "tom"; var myobj = { name: "jackson", getName: function () { return function () { return this.name; } } }; alert(myobj.getName()());//tom 使用闭包的注意点 1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成

JavaScript 的运行机制

前言 参看文章: 这一次,彻底弄懂 JavaScript 执行机制 JavaScript 运行机制详解:再谈Event Loop 作为一个前端er,最基本的要求也得知道js的运行机制叭.由于js是单线程的,所以js是按顺序执行的. console.log('1') console.log('2') 输出:1,2.果然是按顺序执行的.本文结束. 来点复杂的. setTimeout(function () { console.log('1') }) new Promise((resolve) =>

JavaScript的运行机制

1.JavaScript的单线程机制 2.任务队列(同步任务和异步任务) 3.事件和回调函数 4.定时器 5.Event Loop事件循环 一.JavaScript的单线程机制,JavaScript的使用单线程是由其主要用途有关,JavaScript是在用户互动.操作DOM元素,如果使用多线程则会带来很多问题,同时操作一个DOM进行删除和添加操作,浏览器无法选择执行那个线程? 二.任务队列,单线程机制,JavaScript的任务就是依次执行,但是CPU与IO设备(ajax网络读取数据,鼠标,键盘

【朴灵评注】JavaScript 运行机制详解:再谈Event Loop

PS: 我先旁观下大师们的讨论,得多看书了~ 别人说的:“看了一下不觉得评注对到哪里去,只有吹毛求疵之感. 比如同步异步介绍,本来就无大错:比如node图里面的OS operation,推敲一下就可以猜到那是指同步操作(自然不走event loop了):至于watcher啥的,显然只是实现上的特色,即使用同一个queue实现也未尝不可” [原帖: http://www.ruanyifeng.com/blog/2014/10/event-loop.html 作者:阮一峰] 一年前,我写了一篇<什么

【repost】JavaScript 运行机制详解:再谈Event Loop

一年前,我写了一篇<什么是 Event Loop?>,谈了我对Event Loop的理解. 上个月,我偶然看到了Philip Roberts的演讲<Help, I'm stuck in an event-loop>.这才尴尬地发现,自己的理解是错的.我决定重写这个题目,详细.完整.正确地描述JavaScript引擎的内部运行机制.下面就是我的重写. 进入正文之前,插播一条消息.我的新书<ECMAScript 6入门>出版了(版权页,内页1,内页2),铜版纸全彩印刷,非常

JavaScript 运行机制详解:再谈Event Loop

原文地址:http://www.ruanyifeng.com/blog/2014/10/event-loop.html 一年前,我写了一篇<什么是 Event Loop?>,谈了我对Event Loop的理解. 上个月,我偶然看到了Philip Roberts的演讲<Help, I'm stuck in an event-loop>.这才尴尬地发现,自己的理解是错的.我决定重写这个题目,详细.完整.正确地描述JavaScript引擎的内部运行机制.下面就是我的重写. 进入正文之前,

JavaScript 运行机制详解

JavaScript 运行机制详解——转载: 一.为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM.这决定了它只能是单线程,否则会带来很复杂的同步问题.比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另

【JS】JavaScript引擎的内部运行机制

首先看一段小程序: <script> alert('第1'); setTimeout(function(){<pre name="code" class="javascript"><span style="white-space:pre"> </span>alert('第2'); }, 2000); alert('第3');</script> 输出顺序是:第1,第3,第2:再来看一段小程

(转载)JavaScript 运行机制详解:再谈Event Loop

source: http://www.ruanyifeng.com/blog/2014/10/event-loop.html  一年前,我写了一篇<什么是 Event Loop?>,谈了我对Event Loop的理解. 上个月,我偶然看到了Philip Roberts的演讲<Help, I'm stuck in an event-loop>.这才尴尬地发现,自己的理解是错的.我决定重写这个题目,详细.完整.正确地描述JavaScript引擎的内部运行机制.下面就是我的重写. 进入正