浏览器的核心 渲染引擎:将网页代码渲染为用户视觉可以感知的平面文档 JavaScript解释器(又称JavaScript引擎):读取网页中的 JavaScript 代码,对其处理后运行 渲染引擎 网页处理,通常分成四个阶段:(并非严格按顺序执行) 解析代码:HTML 代码解析为 DOM,CSS 代码 ...
分类:
其他好文 时间:
2018-06-25 01:09:19
阅读次数:
197
一、JS概述 avaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 在1995年时 ...
分类:
编程语言 时间:
2018-06-18 23:47:19
阅读次数:
231
V8(谷歌浏览器的JavaScript引擎),Node.js是基于V8引擎上的 JavaScript 运行环境,可以看作是更抽象的Js引擎。 Node.js 使用了一个事件驱动、非阻塞式 I/O的模型。(非阻塞I/O:I/O操作不能阻塞程序的执行,I/O操作的同时,继续执行其他代码。事件驱动:每个异 ...
分类:
Web程序 时间:
2018-06-06 22:01:11
阅读次数:
182
什么是严格模式? 使JS编码更加规范化的模式,消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为 怎么使用? 直接添加下面的这句字符串就可以了,这种语法可以向后兼容,如果是不支持严格模式的javascript引擎,就会直接当成是一个未赋值的字符串字面量,会直接忽略,支持的引擎就会 ...
分类:
Web程序 时间:
2018-06-02 16:39:20
阅读次数:
227
个人总结: 一个Javascript引擎由一个标准解释程序,或者即时编译器来实现。 解释器(Interpreter): 解释一行,执行一行。 编译器(Compiler): 全部编译成机器码,统一执行。(减少了切换和调度的开销,更快。) V8引擎是一种即时编译器。 V8引擎的优化策略: 1.内联:将函 ...
分类:
编程语言 时间:
2018-06-02 11:14:25
阅读次数:
239
原文: https://www.cnblogs.com/codernie/p/9098184.html 1.类的prototype是什么? 在Javascript中,每当我们定义一个构造函数,Javascript引擎就会自动为这个类中添加一个prototype(也被称作原型) 2.对象的 proto ...
分类:
编程语言 时间:
2018-05-28 15:00:56
阅读次数:
167
1. 在写项目的时候,为了方便使用了下对象的解构,无奈又遇到一坑。 为什么会不能解构呢?因为这里的{}会导致歧义,因为 JavaScript 引擎会将 理解成一个代码块,从而发生语法错误。只有不将大括号写在行首,避免 JavaScript 将其解释为代码块,才能解决这个问题。如外层套个大括号: 2. ...
分类:
其他好文 时间:
2018-05-18 19:24:01
阅读次数:
1336
JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object.prototype对象,最后,如果还没有找到,就只能返回 ...
分类:
Web程序 时间:
2018-05-04 16:58:26
阅读次数:
201
一直一来,对JavaScript的代码执行顺序,大部分人都会认为 这里看起来似乎都很合理,但是 没有想象的那么简单 在看这一段代码 两次都会打印出foo2 这里涉及到两个问题 变量提升(之前写过) 函数提升 JavaScript引擎并不是一行一行分析 执行程序 而是一段一段的执行 ,当执行一段代码的 ...
分类:
编程语言 时间:
2018-04-28 01:27:23
阅读次数:
249
建议尽量都使用 ,原因如下: 一致性:使用==对一致性没有任何好处,那么为什么不避免使用呢。 简单和性能:一般来说, 是最简单的操作符,因为它不用进行类型转换。JavaScript引擎的性能参差不齐,但是在大部分浏览器中 比==速度更快。 即使会自动转换,但并不总是按你需要的方式转换:比如7+“3” ...
分类:
编程语言 时间:
2018-04-21 22:27:04
阅读次数:
237