JavaScript简介

200 阅读2分钟

JavaScript ( JS ) 是一种函数优先的轻量级,解释型或即时编译型编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,例如 Node.jsApache CouchDBAdobe Acrobat

JavaScript 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

ECMA简介

European Computer Manufactures Association(欧洲计算机制造商协会),这个组织的目标是评估、开发和认可电信和计算机标准。

JavaScript 的标准是 ECMAScript 。截至 2012 年,所有的现代浏览器都完整的支持 ECMAScript 5.1,旧版本的浏览器至少支持 ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6。自此,ECMAScript 每年发布一次新标准。

JavaScript三大块

  1. ECMAScript,遵循ECMA-262规范
  2. DOM Document Object Model,遵循 W3C规范
  3. BOM Browser Object Model, 没有规范

编程语言

一个编程语言必不可少的要素:变量(variable)、数据结构、函数、运算能力

变量:一个容器,存储数据,以便后续使用

  • 变量声明:var a,向系统申请一个存储空间,存储空间命名为a
  • 变量赋值:a = 2,在存储空间中存值
  • 变量声明并赋值 var a = 2

数据结构:原始值(Number、String、Boolean、undefined、null)、引用值(object、Array、Function、Date、RegExp)

1.编译型

源码 -> 编译器 -> 机器语言 -> 可执行文件

静态语言 -> 编译型语言 -> 强类型语言

2.解释型

源码 -> 解释器 -> 解释一行执行一行

动态语言 -> 脚本语言 -> 解释型语言 -> 弱类型语言

优点:不需要根据不同的系统平台进行移植

JS显然是解释型语言。

脚本语言

必须要有脚本引擎,然后通过脚本引擎的解释器解析以后才能正常运行。

如:JavaScript(客户端脚本)、PHP(服务端脚本)

JS单线程模拟多线程

轮转时间片:短时间内轮流执行多个任务的片段

步骤:

  1. 有任务1和任务2
  2. 对2个任务进行切分
  3. 随机排列这些任务片段,组成队列
  4. 按照这个队列顺序将任务片段送进JS进程
  5. JS线程执行一个又一个的任务片段

脚本块与脚本块之间,错误是相互不影响的