JavaScript 简介

原文链接

JavaScript ( 简称:JS ) 是一种 轻量级解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚本语言,但也被用在很多非网页环境中,例如 node.js 和 Apache CouchDB。JS是一种基于原型的、多范式、动态脚本语言,并且支持面向对象、命令式和声明式(如:函数式编程)编程风格。【MDN】

Javascript 是一种解释性、直译型脚本语言(代码不进行预编译)。直译语言的弱点是安全性较差,而且在JavaScript中,如果一条执行不了,那么下面的语言也无法执行。而其解決办法就是使用 try{}catch(){}

console.log("a");
console.log("b");
console.logg("c"); // 这里出错了,下面的语句不会被执行
console.log("d");
console.log("e");/*解決办法*/
try{console.log("a");}catch(e){}
try{console.log("b");}catch(e){}
try{console.logg("c");}catch(e){console.log("Wrong here!");} // 上面的语句是错误的,但是到这里不会停下来,而是打印错误提示信息,然后继续执行下面的语句
try{console.log("d");}catch(e){}
try{console.log("e");}catch(e){}

一个完整的 JavaScript 的实现应该包括三部分:

  • ECMAScript(语言核心):描述了该语言的语法和基本对象

  • DOM(文档对象模型):描述了处理网页内容的方法和接口

  • BOM(浏览器对象模型):描述了与浏览器进行交互的方法和接口

ECMAScript

ECMAScript 是一种脚本语言标准,规范名为 ECMA-262,JavaScript 成为 ECMAScript 的实现之一,其它实现 ECMAScript 的语言还有 JScript 和 ActionScript。

通常遇到 ECMAScript,就将 JavaScript 当作它的方言就行了!

ECMAScript 历史版本

  • ECMAScript 1 (1997.06)

  • ECMAScript 2 (1998.06)

  • ECMAScript 3 (1999.12)

    • 添加正则表达式,异常处理,新的控制指令等

  • ECMAScript 4 : 由于某些原因,未完成

  • ECMAScript 5 (2009.12)

    • 添加严格模式,JSON 对象等

  • ECMAScript 5.1 (2011.06)

    • 完全向下兼容 ECMAScript 3

  • ECMAScript 6 (2015.06) (又称 ES6ECMAScript 2015

    • 添加 let、const,箭头函数,解构赋值,类(class),模块支持等

  • ECMAScript 7 (2016.06) (又称 ES7ECMAScript 2016

    • 添加 Array.prototype.includes 、 取幂操作符(**)等

DOM

文档对象模型 ( DOM ) 是 HTML 和 XML 文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且定义了一种程序可以对结构树进行访问,以改变文档的结构,样式和内容的方式。

DOM 标准的目标是让“任何一种程序设计语言”能操控使用“任何一种标记语言”编写出的“任何一份文档”。“操控”具体含义为能通过DOM提供的API对文档的内容、结构、样式进行访问和修改。

  • 简单讲,DOM 就是一组适用于结构化文档的API

  • DOM 并不是 JavaScript 的一部分,它也可以被其他语言使用,比如 Java 也可以操作 DOM

平时可能会见到有 DOM 0级(DOM Level 0),但实际上 DOM 0级并不存在,它只是DOM历史坐标中的一个参照点而已。具体说呢,DOM 0级指的是 IE4 和 Netscape 4.0 这些浏览器最初支持的 DHTML。

  • DOM Level 1 (1998.10)

    • DOM1 核心(DOM Core):规定了如何映射基于 XML 的文档结构,以便简化对文档的任意部分的访问和操作。

    • DOM1 HTML:在 DOM 核心的基础上加以扩展,添加了针对 HTML 的对象和方法。

  • DOM Level 2 (2000.11)

    • DOM2 核心:扩展了 DOM1 核心

    • DOM2 视图(DOM Views):定义了跟踪不同文档(例如,应用CSS之前和之后的文档)视图的接口

    • DOM2 事件(DOM Events):定义了事件和事件处理的接口

    • DOM2 样式(DOM Style):定义了基于CSS为元素应用样式的接口

    • DOM2 遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口

    • DOM2 HTML:扩展了 DOM1 HTML

  • DOM Level 3(2004.04)

    • DOM3 核心: 扩展了 DOM1 和 DOM2 核心

    • DOM3 加载和保存(DOM Load and Save):定义了以统一方式加载和保存文档的方法

    • DOM3 验证(DOM Validation):

    • DOM3 事件:扩展了 DOM2 事件

    • DOM3 XPath:定义了在DOM中对XPath表达式求值的接口

  • DOM Level 4(2015.11)

    • ....coming

From wiki

  • DOM Level 1 provided a complete model for an entire HTML or XML document, including means to change any portion of the document.

  • DOM Level 2 was published in late 2000. It introduced the getElementById function as well as an event model and support for XML namespaces and CSS.

  • DOM Level 3, published in April 2004, added support for XPath and keyboard event handling, as well as an interface for serializing documents as XML.

  • DOM Level 4 was published in 2015. It is a snapshot of the WHATWG living standard.

了解更多,参看 DOM Current Status [ W3C ]

BOM

  • 浏览器对象模型(BOM),它为 Javascript 提供了访问和操作浏览器窗口的方法和对象

  • BOM 的核心:window 对象

  • BOM 本身一直都没有相关的标准,但是 HTML 5 发布后,W3C 为了把浏览器中 Javascript 最基本的部分标准化,已经将 BOM 的主要方面纳入了 HTML5 的规范中。

参考资料

  • 【文章】ES5, ES6, ES2016, ES.Next: JavaScript 的版本是怎么回事?「译」

  • 【文章】翻译:ECMAScript 5.1简介

  • 【规范】ECMAScript5.1中文版

  • 【书】ECMAScript 6 入门 ---阮一峰

  • 【文章】DOM Levels(推荐)

  • 【文章】DOM分类和级别概述

JavaScript 简介 1相关推荐

  1. JavaScript简介---JS基础

    JavaScript简介 JavaScript起源 早年间,人们上网都是使用速度很

  2. 前端:JS/16/JavaScript简介,lt;script标记,常用的两个客户端输出方法,JS注释,JS变量(声明,命名规则,赋值),变量的数据类型(数值型,字符型)

    JavaScript简介 1,JavaScript是什么? JavaScript是一种小型的,轻量级的,面向对象的,跨平台的客户端脚本语言. JavaScript是嵌入到浏览器软件当中去的,只要你的电 ...

  3. 网站开发综合技术 一 JavaScript简介 二JavaScript语法

    第1部分 JavaScript简介 1.JavaScript它是个什么东西? 它是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 2.它与Java有什么关系? 没有什么直接联系,java是S ...

  4. JavaScript 简介第一课

    JavaScript 简介 JavaScript 是互联网上最受欢迎的编程语言之一,用于为网页添加交互性,处理数据,以及创建各种应用程序(移动应用程序,桌面应用程序,游戏等),这门语言可用于 HTML ...

  5. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏...

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  6. JavaScript - 简介

    JavaScript - 简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端 ...

  7. JavaScript简介及JavaScript中的关键保留字、变量和数据类型

    1. JavaScript简介 JavaScript 诞生于 1995 年.它当时的目的是为了进行表单输入的验证.因为在 JavaScript 问世之前,表单的验证都是通过服务器端验证的.而当时都是电 ...

  8. 地球引擎初级教程——JavaScript 简介(一文读懂如何使用GEE)

    JavaScript 简介 在基于 Web 的 IDE 上的代码编辑器中编写的脚本必须使用 JavaScript 编写.JavaScript 是一种使用/学习的相当直接的编程语言.JavaScript ...

  9. JavaScript 简介 JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

    JavaScript 简介 JS 教程 JS 实现 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设 ...

最新文章

  1. 【贪心】数据备份(P6320)
  2. 具有关联映射的Hibernate Composite ID
  3. plesk 运行不了php,如何在Plesk中使用composer(使用其他版本的PHP运行Composer)
  4. PHP 函数调用跟踪
  5. Spring Boot——@ConfigurationProperties与@Value的区别
  6. 老毛子最想固件,支持打印机了
  7. 材料工程计算机技术应用,计算机在材料工程中的应用
  8. php接入aws短信,亚马逊短信(AWS-SMS)
  9. Linux 下sha1加密
  10. Win10更新失败的解决办法
  11. zipOutputStream压缩后用RAR解压出现“不可预料的压缩文件末端”错误
  12. 路由器管理android,ASUS Router app-华硕路由器管理软件(ASUS Router)下载v2.0.0.6.16 官方安卓版-西西软件下载...
  13. luoguP1357 花园
  14. 周子明:大道无疆,“驰”之以恒,在数字化时代纵横驰骋
  15. CAS-KG——知识图谱数据的存储与检索
  16. 什么是数据标注? 数据标注公司主要做什么?
  17. 一张图搞清楚矩阵 (性质解法归纳)
  18. 有什么用? 学那么多诗词?
  19. POJ 1845 逆元 / 分治
  20. 定制智慧交通(一)--启动项目原因

热门文章

  1. 西安电子科技计算机专业,2020西安电子科技大学计算机专业课改考
  2. sublime3103 破解及Package Control离线安装
  3. Perl_获得字符串长度_length($var)
  4. Java任务调度框架Quartz教程实例
  5. Spring Aop中解析spel表达式,实现更灵活的功能
  6. web3j通过命令行工具新建钱包、更新钱包密码及转账
  7. (1)Java 教程
  8. python-45-ajax数据序列化
  9. 11.Axis客户端接收不同参数类型
  10. MingW环境下的windows编程