1 预解析 1.1 预解析的基本步骤 在JS引擎执行JS代码会分成三个步骤进行解析代码: 第一步:JS引擎先将JS代码整体按照JS语言的规则进行分词,也就是JS代码的词法分析. 第二步:然后JS引擎浏览JS代码,并对代码进行语法分析,这里只关注代码中变量的声明和函数的声明,这第二步也就叫预解析. 第 ...
分类:
编程语言 时间:
2016-09-29 01:44:07
阅读次数:
127
四种算法来实现这个目的: 其中第1种和第3种方法都用到了数组的indexOf方法。此方法的目的是寻找存入参数在数组中第一次出现的位置。很显然,js引擎在实现这个方法的时候会遍历数组直到找到目标为止。所以此函数会浪费掉很多时间。 而第2中方法用的是hash表。把已经出现过的通过下标的形式存入一个obj ...
分类:
编程语言 时间:
2016-09-25 22:26:09
阅读次数:
160
输出的结果是:[Function: a] 注意一下几点就能知道原因了! 1)函数声明会置顶2)变量声明也会置顶3)函数声明比变量声明更置顶:)4)变量和赋值语句一起书写,在js引擎解析时,会将其拆成声明和赋值2部分,声明置顶,赋值保留在原来位置5)声明过的变量不会重复声明 按以上的规则代码等价为 ...
分类:
Web程序 时间:
2016-09-20 12:04:04
阅读次数:
191
一、JavaScript引擎: 所谓JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中,用于解释和执行js脚本。 著名的js引擎: Mozilla:SpiderMonkey引擎,世界第一款JavaScript引擎,有C/C++编写,用于Mozilla ...
分类:
编程语言 时间:
2016-09-10 00:00:42
阅读次数:
226
第一次写博,还蛮激动。。。 看到了三题经典题型,经老师讲解后,对此类题目有了更深刻的认识 就我目前的认识对此题进行总结。如有错误,敬请指正 首先,我们先明确一下JS引擎的工作步骤: js引擎工作分为两步: 1.将这个js中的变量和函数声明保存到当前(注意,是当前)执行环境的变量对象中 2.再逐行解析 ...
分类:
Web程序 时间:
2016-08-21 22:28:46
阅读次数:
181
js-基础(1) javascript由三部分组成:核心,DOM,BOM核心——ECMAScript,可以运行浏览器/单纯的JS引擎 console.log(‘hello’);DOM——操作HTML,需要浏览器 document.write(‘<hr/>’);BOM——与浏览器交互,需要浏览器 wi ...
分类:
Web程序 时间:
2016-08-14 22:11:44
阅读次数:
160
JavaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求。由于Cocos2d-JS引擎是从Cocos2d-x演变而来的,在Cocos2d-JS的早期版本Cocos2d-HTML中几乎全部的API都是模拟Cocos2d-xAPI而设计的,Cocos2d-x本身..
分类:
编程语言 时间:
2016-08-11 22:52:42
阅读次数:
209
JavaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求。由于Cocos2d-JS引擎是从Cocos2d-x演变而来的,在Cocos2d-JS的早期版本Cocos2d-HTML中几乎全部的API都是模拟Cocos2d-xAPI而设计的,Cocos2d-x本身..
分类:
编程语言 时间:
2016-08-11 22:50:04
阅读次数:
144
javaScript语言本身没有提供类,没有其它语言的类继承机制,它的继承是通过对象的原型实现的,但这不能满足Cocos2d-JS引擎的要求。由于Cocos2d-JS引擎是从Cocos2d-x演变而来的,在Cocos2d-JS的早期版本Cocos2d-HTML中几乎全部的API都是模拟Cocos2d ...
分类:
编程语言 时间:
2016-08-11 22:35:03
阅读次数:
217
前言 JS 中最基础的异步调用方式是 callback,它将回调函数 callback 传给异步 API,由浏览器或 Node 在异步完成后,通知 JS 引擎调用 callback。对于简单的异步操作,用 callback 实现,是够用的。但随着负责交互页面和 Node 出现,callback 方案 ...
分类:
编程语言 时间:
2016-08-10 12:41:56
阅读次数:
230