简写: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. java基础之抽象类与接口的形式参数和返回值

    抽象类与接口形式参数和返回值问题 1.形参问题 /* 1.形式参数: 基本类型(太简单,不是我今天要讲解的) 引用类型 (1)类名:(匿名对象的时候其实我们已经讲过了) 需要的是该类的对象 (2)抽象 ...

  2. Spider与OpenPyXL的结合

    OpenPyXL的API文档 1.OpenPyXL基础操作 引入Workbook这个类,然后调用 from openpyxl import Workbook wb = Workbook() 通过ope ...

  3. if_else_while_for

    import getpass #标准库里要加密密码需要导包getpass.但是getpass在pycharm中不好用,需要在命令窗口中输入才管用. _username = "abc" ...

  4. TestNG失败自动截图

    转自:https://www.cnblogs.com/tobecrazy/p/4814813.html

  5. MFC中listbox控件中各种属性的详解

     ListBox控件是Windows 窗体的一个空间,ListBox 控件显示一个项列表,用户可从中选择一项或多项.      如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条. ...

  6. 【k短路&A*算法】BZOJ1975: [Sdoi2010]魔法猪学院

    Description 找出1~k短路的长度.   Solution k短路的求解要用到A*算法 A*算法的启发式函数f(n)=g(n)+h(n) g(n)是状态空间中搜索到n所花的实际代价 h(n) ...

  7. laravel 中的rbac自己简单的实现

    用户表 CREATE TABLE `sys_user` ( `id` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '用户编号', `ids` int(1 ...

  8. Heartbeat实现集群高可用热备

    公司最近需要针对服务器实现热可用热备,这几天也一直在琢磨这个方面的东西,今天做了一些Heartbeat方面的工作,在此记录下来,给需要的人以参考. Heartbeat 项目是 Linux-HA 工程的 ...

  9. ruby整理

    参考博客:https://www.cnblogs.com/felixzh/p/8081622.html 官网地址 https://rvm.io/rvm/install 一.前提  centos6.8下 ...

  10. Scala 隐式转换及应用

    什么是隐式转换 我们经常引入第三方库,但当我们想要扩展新功能的时候通常是很不方便的,因为我们不能直接修改其代码.scala提供了隐式转换机制和隐式参数帮我们解决诸如这样的问题. Scala中的隐式转换 ...