在Web浏览器上下文中理解的总称“JavaScript”包含几个非常不同的元素。

其中一个是核心语言(ECMAScript),另一个是Web API的集合,包括DOM(文档对象模型)

JavaScript, the core language (ECMAScript)

JavaScript的核心语言由ECMA TC39委员会标准化为ECMAScript语言。

此核心语言也用于非浏览器环境,例如node.js.

ECMAScript defines:

  • 语言语法(解析规则,关键字,控制流,对象字面初始化……)
  • 错误处理机制(throw, try / catch,创建用户自定义的错误类型的能力)
  • 类型(boolean, number, string, function, object, ...)
  • The global object: 在浏览器中,此全局对象是window对象,但ECMAScript仅定义不是特定于浏览器的API,例如,parseInt, parseFloat, decodeURI, encodeURI...
  • 基于原型的继承机制
  • 内置对象和函数(JSON, Math, Array.prototype方法, Object内省方法等)
  • Strict mode

ECMAScript Internationalization API Specification 是 ECMAScript语言规范的补充。

国际化API为JavaScript应用程序提供排序规则(字符串比较),数字格式和日期和时间格式,让应用程序选择语言并根据需要定制功能。

DOM APIs

WebIDL

WebIDL规范提供了DOM技术和ECMAScript之间的胶水。

The core of the DOM

文档对象模型(DOM)是一种跨平台,与语言无关的约定,用于表示HTML,XHTML和XML文档中的对象并与之交互。

可以通过使用对象上的方法来寻址和操纵DOM树中的对象。

W3C标准化了核心文档对象模型,该模型定义了将HTML和XML文档抽象为对象的语言无关接口,并定义了操纵此抽象的机制。

HTML DOM

HTML是Web的标记语言,是根据DOM指定的。 分层在DOM Core中定义的抽象概念之上,HTML也定义了元素的含义。 HTML DOM包括诸如HTML元素上的className属性或诸如document.body之类的API。

HTML规范还定义了对文档的限制; 例如,它要求所有表示无序列表的ul元素的子元素都是li元素,因为它们代表列表项。 通常,它还禁止使用标准中未定义的元素和属性。

Other notable APIs

  • 首先在HTML标准的Window接口上指定setTimeout和setInterval函数。
  • XMLHttpRequest 使发送异步HTTP请求成为可能。
  • CSS对象模型 抽象CSS规则作为对象。
  • WebWorkers 允许并行计算。
  • WebSockets 允许低级双向通信。
  • Canvas 2D Context 是<canvas>的绘图API。

term "JavaScript"的更多相关文章

  1. ES5, ES6, ES2016, ES.Next: What's going on with JavaScript versioning?

    JavaScript has a strange naming history. For its initial release in 1995 as part of Netscape Navigat ...

  2. comp.lang.javascript FAQ [zz]

    comp.lang.javascript FAQ Version 32.2, Updated 2010-10-08, by Garrett Smith FAQ Notes 1 Meta-FAQ met ...

  3. A re-introduction to JavaScript (JS Tutorial) 转载自:https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript

    A re-introduction to JavaScript (JS Tutorial) Redirected from https://developer.mozilla.org/en-US/do ...

  4. What makes an excellent front-end developer?(for my English speech)

    What makes an excellent front-end developer? Let me please start this talking by saying that what is ...

  5. [译]理解Javascript的异步等待

    原文链接: https://ponyfoo.com/articles/understanding-javascript-async-await 作者: Nicolás Bevacqua 目前async ...

  6. 【repost】JavaScript Scoping and Hoisting

    JavaScript Scoping and Hoisting Do you know what value will be alerted if the following is executed ...

  7. 深入理解JavaScript闭包【译】

    在<高级程序设计>中,对于闭包一直没有很好的解释,在stackoverflow上翻出了一篇很老的<JavaScript closure for dummies>(2016)~ ...

  8. 理解Javascript的异步等待

    目前async / await特性并没有被添加到ES2016标准中,但不代表这些特性将来不会被加入到Javascript中.在我写这篇文章时,它已经到达第三版草案,并且正迅速的发展中.这些特性已经被I ...

  9. javascript/jquery 常见功能实现(持续更新...)

    1. input 只能输入整数数字和字母 $(document).on('keyup','#no',function(){ var val = $.trim($(this).val()); if(va ...

随机推荐

  1. c语言描述的静态查找表

    顺序表的查找: 直接循环依次和目标比较就行 有序表的查找(二分查找): int search(SS *T,Type key){ int mid; ; int high=T.length; while( ...

  2. 使用补丁破解IntelliJ IDEA 2017收费版本(转)

    1. 首先去官网http://www.jetbrains.com/idea/download/#section=windows下载Ultimate版(注意不是community版)下载并安装.一定要记 ...

  3. Openresty最佳案例 | 汇总

    转载请标明出处: http://blog.csdn.net/forezp/article/details/78616856 本文出自方志朋的博客 目录 Openresty最佳案例 | 第1篇:Ngin ...

  4. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用

    [iOS开发]iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的 ...

  5. zTree的核心处理逻辑

    zTree 是一个前端树形结构的插件. 使用起来很简单,我们重点关注一下插件的核心代码. 首先,zTree需要如下的数据结构: let areaData = [ { "id": & ...

  6. 关于echarts整合多个类似option

    最近项目里面遇到一些图表需要用echarts来做.而我之前只用过一次echarts,也只是做了一个简单的饼状图,并没有涉及到很多的配置.但是现在这个项目,这些图表需要自己配置很多东西.像什么多余的网格 ...

  7. jdbc执行过程 jar包下载

    工具和准备: MYSQL 8.0jar包: 链接:https://pan.baidu.com/s/1O3xuB0o1DxmprLPLEQpZxQ 提取码:grni 使用eclipse开发首先把jar包 ...

  8. Sonarqube中文插件-Linux[20180105]

    前言     上次安装了Sonarqube英文版使用起来不方便,这次为Sonarqube安装中文插件. 前期准备:     软件下载: https://github.com/SonarQubeComm ...

  9. 【poe设备加电配置】

    开启接口的poe功能: [interface_name]: 配置poe端口的最大功率: [interface_name[: 配置poe的端口工作模式: [interface_name[: 配置poe端 ...

  10. 【JDBC】一、JDBC连接数据库

    package com.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExce ...