简写:JavaScript-JS   ECMAScript-ES

写在前面的话:啃文字大多时间不是件愉快的事情,但是我们必须过这个坎,让自己习惯,让自己不讨厌,至于喜欢不喜欢,我们等时间给出答案。

JavaScript由来JavaScript 诞生于1995年,由Netscape Navigator(网景公司,下文统一简称网景)公司设计的语言,目的是用来解决当时的表单输入验证问题(当时是放在服务器端进行的表单验证)。当时微软在IE3上也实现了JavaScript,但是为了避开网景的授权问题,因而在叫法上称为JScript。JavaScript前身其实是叫LiveScript,后来网景浏览器在发布第二版的时候,为了趁当时Java的热度,临时改成了JavaScript。这也让很多不了解JavaScript的人总是误会成Java的亲戚,然而实际上并无关系。再后来,因为微软跟网景公司各自用自己版本的JavaScript,并无一套标准的规则可供参考,所以,在1997年,以JavaScript1.1为蓝本的建议提交给了欧洲计算机制造商协会(ECMA,European Computer Manufacture Association)。该协会指定39号技术委员会负责这次标准化任务,经过几个月,最后完成了ECMA-262,也就是名为ECMAScript的新脚本语言。第二年,ISO/IEC(国际标准化组织和国际电工委员会)。

JS跟ES,大多时候我们是混着叫的,我们也可以不深究,但是既然入了这个门,不管是出于情怀还是更好的理解这门语言,个人觉得很有必要了解的。JS是一门基于浏览器的脚本语言,而ES是欧洲计算机制造协会牵头完成的一种脚本语言的标准。JS是基于ES标准开发出来的一种脚本语言,像node也是基于ES标准开发的一种后台语言。

浏览器的JS语言的实现包括了三个部分:

1. ES,这是JS的核心,是JS必须遵循的国际标准;

2. 文档对象模型,也就是DOM,主要用于操作html的元素节点;

3. 浏览器对象模型,也就是BOM,主要是各个浏览器实现的对象。

ES

ES跟浏览器没有任何的依赖关系,它定义的只是想过脚本语言的基础部分。ES规定这门语言由七部分组成

语法、类型、语句、操作符、关键字、保留字、对象。

这些特性跟java语言以及其他语言类似。

ES的版本更迭:

第一版,主要依据JS1.1编写。

第二版,只做编辑加工,并未实现新特性。

第三版,增加了像正则、异常处理等一些新的特性。第三版的发布标志着ES成为一门真正的编程语言,后续十几年主要兼容的就是这个版本。

第四版,改动巨多,废弃,采用3.1版本替代4.0直接发不成第五版,也就是传说中的ES5。

DOM

为什么要使用DOM?为了能动态改变页面显示。依据的标准是W3C制定的标准,具体的API以及实现后面再详述。

BOM

浏览器对象模型,包括窗口、浏览器信息、location、screen、cookie、XMLHttpRequst等,不过没有标准遵循。

因为JS的运行载体各异,工作学习过程中难免会遇到各种各样的兼容性问题,好在大多数的兼容性问题就算是百度也能解决绝大部分。

JavaScript第一回-来龙去脉的更多相关文章

  1. Jquery真的不难~第一回 编程基础知识

    Jquery真的不难~第一回 编程基础知识   回到目录 前言 说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异 ...

  2. 想写个小说,关于C#的,名字就叫《原Csharp》吧 (第一回 买书未成炁自生 惶惶回屋遇老翁)

    以前也有写过一些小说,但是总是写写停停的,因为忙于项目和其他事情,总是耽搁很久(真的是很久)才会继续动两笔,所以我想先在这里以随笔的方式写个关于C#异世界的小故事吧,更新随缘,也稍微能让自己轻松些. ...

  3. Volley使用指南第一回(来自developer.android)

    最近闲来想看看android网络方面的东西.google在2013年发布了一个叫做Volley的网络请求框架,我看了一下官网,居然在training里面就有教程.首先,英文的东西看着 还是挺不爽的,特 ...

  4. javascript判断回文数

    "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(pa ...

  5. JavaScript第一部分

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  6. 前端之JavaScript第一天学习(1)-JavaScript 简介

    javaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScript 是脚本语言 JavaSc ...

  7. javascript第一课练习

    <!doctype html> <html lang="en">  <head>   <meta charset="UTF-8& ...

  8. 第一回:Scrapy的试水

    前言:今天算是见到Scrapy的第二天,之前只是偶尔查了查,对于这个框架的各种解释,我-----都-----看------不------懂----,没办法,见面就是刚. 目的:如题,试水 目标:< ...

  9. JavaScript第一阶段学习心得

    开始接触JavaScript是从慕课网开始的,基础篇学完.懵了一逼,可能是自己太蠢.感觉跟没学差不多,属性,方法,对象,什么都不懂.有的方法知道起的是什么效果,但是原理什么的都不知道. 还好,基础篇学 ...

随机推荐

  1. 用php过滤文字中的表情字符

    很多时候,如果文字中夹带表情,那么这些文字的处理就会出现问题,例如,如果一个用户的昵称带有表情,那么我怎么把这个昵称转换为拼音呢?在实际的开发中,我遇到了这个个问题,先是找到了 https://git ...

  2. java 基础之枚举

    问题:对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个 解决办法: 1)  在setGrade方法中做判断,不符合格式要求就抛出异常 2)  直接限定用户的选择,通过自定义类模拟枚举的 ...

  3. Python爬虫利器四之PhantomJS的用法

    前言 大家有没有发现之前我们写的爬虫都有一个共性,就是只能爬取单纯的html代码,如果页面是JS渲染的该怎么办呢?如果我们单纯去分析一个个后台的请求,手动去摸索JS渲染的到的一些结果,那简直没天理了. ...

  4. python下如何安装.whl包?

    下载 .whl 包 先 pip install wheel 之后 pip install 包名字.whl 即可安装某模块包

  5. 干货 | Java中获取类名的3种方法!

    获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonicalName() 返回的是更容易理解的类名表示. g ...

  6. switch窗口句柄

    Set<String> windows = browser.getWebDriver().getWindowHandles(); //获得所有窗口句柄 for (String string ...

  7. BZOJ_4269_再见Xor_线性基

    BZOJ_4269_再见Xor_线性基 Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行 ...

  8. BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块

    BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块 Description Autumn和Bakser又在研究Gty的妹子序列了 ...

  9. Go 实现 自动检索 API 错误码代码行 并 打印成文档,例 markDown 形式等

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  10. 你可能忽略的js类型转换

    前言 相信刚开始了解js的时候,都会遇到 2 == '2',但 1+2 == 1+'2'为false的情况.这时候应该会是一脸懵逼的状态,不得不感慨js弱类型的灵活让人发指,隐式类型转换就是这么猝不及 ...