在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. LeetCode8.字符串转换整数(atoi) JavaScript

    请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之 ...

  2. SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot4-jpaJ/ 本文出自方志朋的博客 JPA全称J ...

  3. Shiro 登录认证源码详解

    Shiro 登录认证源码详解 Apache Shiro 是一个强大且灵活的 Java 开源安全框架,拥有登录认证.授权管理.企业级会话管理和加密等功能,相比 Spring Security 来说要更加 ...

  4. ABAP术语-Object Type

    Object Type 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/06/1093159.html Description created ...

  5. SpringBoot配置redis和分布式session-redis

    springboot项目 和传统项目 配置redis的区别,更加简单方便,在分布式系统中,解决sesssion共享问题,可以用spring session redis. 1.pom.xml <d ...

  6. MySQL备份恢复之Xtrabackup

    Preface       Today,I'm gonna use the Xtrabackup tool to demonstrate the procedure of backing up MyS ...

  7. python的pymysql模块简介

    一.介绍 在python中用pymysql模块来对mysql进行操作,该模块本质就是一个套接字客户端软件,使用前需要事先安装 pip3 install pymysql 二.操作简介 import py ...

  8. 关于Ext.js和Ext.Net的杂谈

    最近几年比较火的前端js框架extjs 算是其中的佼佼者.统一的UI设计,强悍的组件及丰富的插件,对浏览器良好的兼容性等优点使得许多公司使用Extjs,同时也使得无数程序猿开始研究这个玩意也包括我在内 ...

  9. thinkphp3.2.3实现多条件查询实例.

    $data = M("datainfo"); $projectsname = I('get.projectsname');//前台提交的模糊查询字段 // 查询条件 $where ...

  10. spring-运行时值注入

    在项目中经常使用连接数据库的配置,如下所示 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDa ...