目录

JavaScript简介

JavaScript是网页三大组成部分中的核心之一,是前端开发的灵魂。JavaScript也是一种计算机语言.

# JavaScript定义

JavaScript是一种高级的、解释型的语言,是一门基于原型、头等函数的语言,是一门多范式的语言,支持面向对象程序设计,指令式编程,以及函数式编程。

# JavaScript的组成

ECMAScript是JavaScript的标准,描述了该语言的语法和基本对象。JavaScript是ECMAScript的语言层面的实现,除了语言规范之外,JavaScript还需要对页面和浏览器进行各种操作;除了基本实现之外,还包裹DOM操做和BOM操作

JavaScipt由ECMAScript(定义语言规范),DOM(用于操作文档的API),BOM(用于操作浏览器的API) 组成。

image

# JavaScript由谁运行

不同的浏览器由不同的内核组成

  • Gecko:早期被Netscape和Mozilla Firefox浏览器浏览器使用
  • Trident:微软开发,被IE4~IE11浏览器使用,但是Edge浏览器已经转向Blink
  • Webkit:苹果基于KHTML开发、开源的,用于Safari,Google Chrome之前也在使用
  • Blink:是Webkit的一个分支,Google开发,目前应用于Google Chrome、Edge、Opera等
  • ...

我们经常说的浏览器内核指的是浏览器的排版引擎;排版引擎也称为浏览器引擎、页面渲染引擎样版引擎

JavaScript是由JavaScript引擎来执行的

# JavaScript引擎

# 为什么需要JavaScript引擎

高级的编程语言都是需要转成最终的机器指令来执行的;事实上我们编写的JavaScript代码无论交给浏览器还是Node执行,最终都是需要被CPU执行的;但是CPU只认识自己的指令集,实际上是只有机器语言才能被CPU执行;所以我们需要JavaScript引擎帮助我们将JavaScript代码翻译成CPU指令来执行

# 常见的JavaScript引擎

  • SpiderMonkey:第一款JavaScript引擎,由Brendan Eich开发(也就是JavaScript作者);
  • Chakra:微软开发,用于IE浏览器
  • JavaScriptCore:WebKit中的JavaScript引擎,Apple公司开发;
  • V8:Google开发的强大JavaScript引擎,也帮助Chrome从众多浏览器中脱颖而出;
  • ...

# 浏览器内核与JS引擎的关系

# 以Webkit为例,WebKit事实上由两部分组成

  • WebCore:负责解析HTML、布局、渲染等等相关的工作
  • JavaScriptCore:解析、执行JavaScript代码

# 小程序中的划分

在小程序中编写的JavaScript代码就是被JSCore执行的

image

image

# 著名的Atwood定律

Stack Overflow的创立者之一的 Jeff Atwood 在2007年提出了著名的 Atwood定律:

Any application that can be written in JavaScript, will eventually be written in JavaScript.

(任何可以使用JavaScript来实现的应用都最终都会使用JavaScript实现)

# JavaScript的应用

image

上次更新: 2022/08/18, 08:41:53
最近更新
01
防抖和节流
02-06
02
正则表达式
01-29
03
async_await函数
12-30
更多文章>