在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. vue使用v-for循环,动态修改element-ui的el-switch

    在使用element-ui的el-switch中,因为要用v-for循环,一直没有成功,后来仔细查看文档,发现可以这样写 <el-switch v-for="(item, key) i ...

  2. vue2 自定义全局组件(Loading加载效果)

    vue2 自定义全局组件(Loading加载效果) github地址: https://github.com/ccyinghua/custom-global-component 一.构建项目 vue ...

  3. Interview Question Overload、Refactoring和Override?

    Overload Overload我们百度翻译知道是超载的意思,不过我们一般称其为重载,在这里我们不纠结于它的翻译,我们来讲讲重载是什么意思,重载的好处.在下面我们以Overload来代表重载(为了记 ...

  4. UIImagePickerController获取照片的实现,添加overlay方法 (相机取景框)

    DEVELOPER.XIAOYAOLI 技术笔记 简单的利用UIImagePickerController调用iPhone摄像头获取照片的方法,同时介绍了怎么添加overlay,用于自定义预览界面   ...

  5. c#冒泡排序算法和快速排序算法

    依次比较相邻的两个数,将小数放在前面,大数放在后面. 第1趟: 首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放 ...

  6. windows 开启 nginx 监听80 端口 以及 禁用 http 服务后,无法重启 HTTP 服务,提示 系统错误 123,文件目录、卷标出错

    1. 正常情况直接运行  start nginx.exe 不能开启成功,因为 80 端口被占用.提示: bind() to 0.0.0.0:80 failed (10013: An attempt w ...

  7. oracle中connect by语句的优化

    很多应用中都会有类似组织机构的表,组织机构的表又通常是典型的层次结构(没有循环节点).于是通过组织控制数据权限的时候,许多人都喜欢通过connect by获得组织信息,然后再过滤目标数据. 在有些情况 ...

  8. DevOps - 版本控制 - Bitbucket

    Bitbucket 使用139邮箱无法收到注册邮件 https://bitbucket.org

  9. 【poe设备加电配置】

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

  10. (转)手游应该怎么做 UI 设计?

    之前一直做互动设计,在UI上有一些积累. 转战手游后发现,有着标准.互动方式.用户行为等等与常规大屏UI设计的不同,但是在设计流程,思考方式上是一样的. 以目前项目中一个界面为例(未完成版本)来说一下 ...