博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 简介
阅读量:5788 次
发布时间:2019-06-18

本文共 2990 字,大约阅读时间需要 9 分钟。

JavaScript 简介

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

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){}

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

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

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

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

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.

了解更多,参看 [ W3C ]

BOM

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

  • BOM 的核心:window 对象

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

参考资料

  • 【文章】

  • 【文章】

  • 【规范】

  • 【书】

  • 【文章】(推荐)

  • 【文章】

转载地址:http://ouqyx.baihongyu.com/

你可能感兴趣的文章
Iceworks 2.8.0 发布,自定义你的 React 模板
查看>>
胖哥学SpringMVC:请求方式转换过滤器配置
查看>>
Kotlin 更加优雅的 Builder - 理解 with
查看>>
前端日拱一卒D6——字符编码与浏览器解析
查看>>
深入理解浏览器的缓存机制
查看>>
微软向Linux社区开放60000多项专利:对开源微软是认真的
查看>>
Hoshin Kanri在丰田的应用
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>
克服大数据集群的挑战
查看>>
PostgreSQL并发控制(MVCC, 事务,事务隔离级别)
查看>>
DM***的第二阶段OSPF
查看>>
20180702搭建青岛RAC记录
查看>>
Spring Security OAuth 实现OAuth 2.0 授权
查看>>
linux文件及简单命令学习
查看>>
dubbo源码分析-架构
查看>>
新 Terraform 提供商: Oracle OCI, Brightbox, RightScale
查看>>
6套毕业设计PPT模板拯救你的毕业答辩
查看>>
IT兄弟连 JavaWeb教程 JSP与Servlet的联系
查看>>
Windows phone 8 学习笔记
查看>>
linux并发连接数:Linux下高并发socket最大连接数所受的各种限制
查看>>