学习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. Learning-Python【5】:Python数据类型(1)—— 整型、浮点型、字符串

    一.整型 1.用途:记录年龄.等级.各种号码等 2.定义方式 age = 22 只能将纯数字的字符串转换成整型 3.常用操作+内置方法 赋值运算.比较运算.算数运算 该类型总结: 存一个值 不可变(可 ...

  2. Mac OS X 避免产生临时文件 .DS_Store

    参考: 删除Mac中所有 .DS_Store 隐藏文件 Mac OS X 避免产生临时文件 .DS_Store .DS_Store 隐藏文件保存针对目录的特殊信息和设置配置,例如查看方式,图标大小以及 ...

  3. LINQ之路16:LINQ Operators之集合运算符、Zip操作符、转换方法、生成器方法

    本篇将是关于LINQ Operators的最后一篇,包括:集合运算符(Set Operators).Zip操作符.转换方法(Conversion Methods).生成器方法(Generation M ...

  4. Java原生API访问MongoDB

    1.pom.xml <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java ...

  5. SQL LITE安装

    SQLite是一款轻型的嵌入式关系数据库,轻量级,效率高,操作起来也特别方便我们今天来讲解一下SQLite的安装和一些基本操作SQLite下载我是64位机,下载下面的两个解压就好添加path环境变量, ...

  6. HSV色彩空间和颜色分量范围

    部分来自: https://wenku.baidu.com/view/eb2d600dbb68a98271fefadc.html http://blog.csdn.net/Taily_Duan/art ...

  7. pipenv使用总结

    一.pipenv默认虚拟环境路径在用户目录下的.\virtualenvs下,不同虚拟环境目录不同,如果要更改为在当前项目根目录下,可以在项目根目录下手动创建.venv目录. 1.linux环境下设置环 ...

  8. 【Git】【1】简单介绍

    前言: Git:资源管理,版本控制:其实我之前用的是SVN,据说是不好管理分支,不过我做的项目参与人数不多,所以SVN其实是够用的 Git客户端:安转后,可以直接在文件夹进行管理,不需要用命令行形式管 ...

  9. linux快捷键 常用快捷键

    常用的快捷键 'ctrl+c' 强制终止当前命令 'ctrl+l' 清屏 'ctrl+a' 光标移动到命令行首 'ctrl+e' 光标移动到命令行尾 'ctrl+u' 从光标所在的位置删除到行首 'c ...

  10. Spring Boot + Spring Cloud 实现权限管理系统 (系统服务监控)

    系统服务监控 新建监控工程 新建Spring Boot项目,取名 kitty-monitor,结构如下. 添加项目依赖 添加 spring boot admin 的相关依赖. pom.xml < ...