在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语言描述的快速排序法

    #include<stdio.h> #include<stdlib.h> void QuikSort(int a[],int m,int n){ //第一个数作为关键字,比他大 ...

  2. idea开启自动编译

    springboot+thymeleaf+idea   idea默认是不自动编译的. 首先热部署的jar包肯定是要加进去的 2,快捷键 ctrl+shift+alt+/       点击registr ...

  3. Cantor表

    题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 - 2/1 2/2 2/3 2/4 - ...

  4. Eclipse中各种文件的注释与取消注释的快捷键

    Eclipse中各种文件的注释与取消注释的快捷键 Java文件: 注释和取消注释的快捷键都是:CTRL + / 或 Shift+Ctrl+C JS文件: 注释和取消注释的快捷键都是:CTRL + / ...

  5. docker 启动 nginx 访问不了的问题

    使用版本:nginx version: nginx/1.13.8 正使用docker启动nginx容器的时候,一切都很正常,容器也起来了 docker run -dit -p 80:80 --name ...

  6. ubuntu如何设置Python的版本

    Ubuntu默认已经安装了Python的版本了,不过是Python2的版本. 我们安装好Python3想把他切换为系统默认的版本. sudo update-alternatives --config ...

  7. PHPPCRE正则解析

    一.前言 前面的博客里,有对字符集的解析.这里就不是字符集的事儿了,在PHP中很多函数的处理默认是unicode中的UTF-8编码格式.那么废话不多说,直接开始正题. 二.PHP函数mb_split解 ...

  8. 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)

    在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...

  9. hive 学习系列三(表格的创建create-table)

    表格创建: 语法 第一种建表的形式: 说明: temporary 临时表,在当前回话内,这张表有效,当回话结束,可以理解为程序结束,则程序终止. external 外部表, hdfs 上的表的文件,并 ...

  10. 2018 ccpc final I. Cockroaches

    I. Cockroaches time limit per test6. s memory limit per test256 MB inputstandard input outputstandar ...