学习JavaScript高级程序设计第三版第一步。JavaScript简介不光在这一本说介绍,很多书都提及到,我就简单的把重点记录下来,当做整理吧,以便自己及大家观看。

1995年,我出生了,JavaScript也诞生了,JavaScript现在这么强大而且受欢迎,而我却默默无闻,等我把JavaScript学的很牛X的时候希望我也很厉害了哦,起初Netscape Navigator用它完成基本的数据验证任务,而如今具备了与浏览器窗口及其内容等方面所有的交互,拥有了闭包,匿名函数,甚至元编程等特性,听起来这么高大上的东西我就想知道他们的欲望都变强了。

JavaScript简史

1,起初浏览器提交表单,等30秒没有反应,说明你表单中一个字段没有填写好。

2,1995年, Netscape也就是美国网景公司,建立了LiveWire,为了发布和sun公司合作,起名为JavaScript。

3,1996年的时候,微软推出3中不同的JavaScript。1997年经欧洲计算机制造商协会ECMA组织,当时各大公司程序员数月,完成了ECMA-262来定义了ECMAscript。

4,第二年ISO/IEC,国际标准化组织和国际电工委员会,也采用ECMAscript作为标准,讲ECMAscript成为了JavaScript实现的基础。

JavaScript实现

通过简史我们知道,ECMAscript成为了JavaScript实现的基础,一个完整的JavaScript实现由三个不同的部分组成。

1,核心(ECMAscript)   2,文档对象模型(DOM)    3,浏览器对象模型(BOM)

 ECMAscript

大致来说ECMAscript规定了下列组成部分:语法,类型,语句,关键字,保留字,操作符,对象。和web浏览器没有关系,web浏览器就是他的宿主环境,提供基本实现提供语言的扩展,以便语言和环境对接交互,如DOM操作。根据ECMAscript版本改动,从统一一致到兼容,增加正则,语法,数据结构,继承,数据交互新方式等等,成为了一门强大的编程语言。

DOM

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编辑接口(API)。DOM把整个页面映射为一个多层次节点结构。每个组成部分都是某种类型的节点,而节点包含不同的类型结构。

根据DOM控制页面的内容和结构的主动权,借助DOM提供的API,开发人员可以自由的增删改查任何节点。

DOM也是分级别的。

DOM1由DOM核心和DOM HTML组成。1,核心规定如何映射基于XML的文档结构。2,添加针对HTML的对象方法。

DOM2扩展了鼠标和用户界面事件,范围,遍历,等细分模块。而且通过对象对CSS的支持。

DOM2新类型新接口也给了定义。1, DOM视图:定义跟踪不同的文档视图的接口。2, DOM事件:定义事件与事件处理的接口。3, DOM样式:定义了css元素应用样式的接口。4, DOM遍历和范围:定义遍历和文档树的接口。

DOM3也是对 DOM核心进行扩展。

 BOM

浏览器对象模型BOM.

从根本上讲,BOM只处理浏览器窗口与框架。人们习惯性的把所有针对浏览器的javascript扩展算BOM的一部分,例如这些扩展。

1,弹出新浏览器窗口的功能。

2,移动缩放关闭浏览器窗口的功能。

3,提供浏览器详细信息的navigator对象。

4,提供浏览器所加载页面详细信息的location对象。

5,提供用户显示器分辨率详细信息的screen对象。

6,对cookies支持。

7,像XMLHttpRequest与IE的ActiveXObejct这样的自定义对象.

总体来说javascript就是一种专为网页设计的脚本语言。

ECMAScript,由ECMA-262定义,提供核心语言功能。

DOM,提供访问和操作网页的内容的方法和接口。

BOM ,提供浏览器交互的方法和接口。

让你简洁清晰真正的了解什么是JavaSCript的更多相关文章

  1. 如何写出小而清晰的函数?(JS 版)

    本文以 JavaScript 为例,介绍了该如何优化函数,使函数清晰易读,且更加高效稳定. 软件的复杂度一直在持续增长.代码质量对于保证应用的可靠性.易扩展性非常重要. 然而,几乎每一个开发者,包括我 ...

  2. C11简洁之道:初始化改进

    1.  C++98/03初始化 我们先来总结一下C++98/03的各种不同的初始化情况: //普通数组 ] = {, , }; //POD(plain old data) struct A { int ...

  3. ES6 新特性

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  4. seajs的使用

    写在前面 seajs是什么? Seajs是一个js文件加载器. 遵循 CMD 规范模块化开发,依赖的自动加载.配置的简洁清晰. 用于Web开发的模块加载工具,提供简单.极致的模块化体验 一:使用 文件 ...

  5. 【原】Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作

    1.需求: 1.1)页面要美观大气 1.2)前端代码要简洁清晰,要用MVC或是MVVM框架 1.3)服务端要用MVC框架,要Rest风格 1.4)数据访问要用ORM 2.效果: 2.1)列表 2.2) ...

  6. 【原】移动web资源整理

    2013年初接触移动端,简单做下总结,首先了解下移动web带来的问题 设备更新换代快——低端机遗留下问题.高端机带来新挑战 浏览器厂商不统一——兼容问题多 网络更复杂——弱网络,页面打开慢 低端机性能 ...

  7. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  8. javascript 基础

    javascript概述: javascript历史: * 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEas ...

  9. 最常用的ES6特性(转)

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

随机推荐

  1. Not supported for DML operations

    问题原因 缺失@Modifying注解 问题解决 在自定义的修改方法(delete.update)上面除了@Transactional注解和@Query还需要@Modifying注解 Bug重现 or ...

  2. Django2.1.3 smtp 邮件 553报警

    用网易邮箱smtp发邮件时候一直报警553权限问题 smtplib.SMTPSenderRefused at: (553, b'Mail from must equal authorized user ...

  3. SQL Server 第三章 结构化查询语言

    SQL脚本: create database electric; use electric go create table Salvaging( prj_no int primary key, prj ...

  4. C# --- ??(空接合操作符)的一个案例

    Nullable<Int32> x = null; Nullable<Int32> y = null; Nullable<Int32> z = null; Int3 ...

  5. 【异常】idea执行Main方法出现 Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

    一.异常复现步骤 1)首先得是一个Spring MVC项目 注:Spring Boot项目有内置的web 容器,不会出现该问题 2)main方法存在于使用HttpServletRequest类的类中 ...

  6. eolinker 安装时遇到的坑

    Access denied for user 'root'@'localhost' (using password:YES) 从githup 上下载的代码,直接把release 里的文件发布到服务器上 ...

  7. 以太坊钱包开发系列4 - 发送Token(代币)

    以太坊去中心化网页钱包开发系列,将从零开始开发出一个可以实际使用的钱包,本系列文章是理论与实战相结合,一共有四篇:创建钱包账号.账号Keystore文件导入导出.展示钱包信息及发起签名交易.发送Tok ...

  8. web中静态资源和动态资源的概念及区别

    1.静态资源和动态资源的概念 简单来说: 静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件,返回给客户端,客户端解析并渲染显示出来. 动态资源:一般客户端请求的动态资源, ...

  9. 洛谷 P2661信息传递

    图论——>并查集 P2661 本蒟蒻啥也不会 这题还WA了1次 =  = 最后看题解A 哭了 看题是多个(N<=200000)东西之间的关系维护 果断想到并查集 在第i个位置的a[i] 表 ...

  10. R语言scale与unscale函数

    一.scale函数 R语言base库中自带数据标准化接口scale函数,函数介绍如下 Usage scale(x, center = TRUE, scale = TRUE) Arguments x: ...