起于客户端数据验证
特性
----闭包
----匿名函数
----元编程等
----等
想要全面理解和掌握JavaScript
----本质
----历史
----局限性

ECMAScript 脚本语言标准

JavaScript实现

完整的JavaScript由三部分组成:
----核心(ECMAScript)
----文档对象模型(DOM)
----浏览器对象模型(BOM)

ECMAScript
----与web浏览器没有依赖关系
----不包含输入输出
----只定义这门语言的基础
----web浏览器只是宿主环境之一

--宿主环境不仅提供基本的ECMAScript实现,也提供语言的扩展,
以便语言与环境之间的对接交互

--扩展如 DOM 利用ECMAScript核心类型和语法提供更多更具体的功能

其他宿主环境
----node
----adobe flash

ECMA大致定义了
---语法
---类型
---语句
---关键字
---保留字
---操作符
---对象

ECMA-262对ECMAScipt兼容定义
---支持ECMA-262描述的所以 类型、值、对象、属性、函数以及程序语法和语义
---支持Unicode字符标准
//兼容的实现还可以进行下列扩展
---添加ECMA-262没有描述的 更多类型、值、对象、属性、函数
//新增特性主要指,标准中没有规定的新对象和对象的新属性
---支持ECMA-262没有定义的 程序和正则表达式语法
//也就是说 可以修改和扩展内置的正则表达式语法

--兼容实现的灵活也是ECMAScript受欢迎的原因之一

文档对象模型(DOM Document Object Model)
---针对XML但经过扩展用于HTML的应用程序编程接口(API application programming interface)
---把整个页面映射为多层节点结构

Web通信标准的W3C(王维网联盟)制定DOM标准

DOM1 level1
---dom 核心//规定如何映射基于xml的文档结构,简化对文档中任意部分的访问和操作
---dom html//扩展 添加了针对html的对象和方法

DOM2
---鼠标和用户界面事件,范围,便利等新模块
-----dom视图(dom views)定义了跟踪不同文档视图的接口
-----事件(Events) 事件和事件处理接口
-----样式(Style) css为元素应用样式接口
-----遍历和范围(Traversal Range)遍历和操作文档树的接口
---通过对象接口增加了 css支持

DOM3
---dom加载和保存(load and save)
---验证文档(dom validation)

其他dom标准
---SVG (scalable vector graphic 可伸缩矢量图)
---MathML(Mathematical Markup Language 数学标记语言)
---SMLIL(Synchronized Multimedia Integration Language 同步多媒体集成语言)

BOM浏览器对象模型
---控制浏览器显示页面以外的部分
---html5(w3c的) 致力于把BOM功能写入正式规范

根本上BOM只处理浏览器窗口和框架 但是人们习惯把所有针对浏览器的JavaScript扩展算作bom的一本分
---弹出新浏览器窗口
---移动,缩放,关闭浏览器窗口
---提供浏览器详细信息的navigator对象
---提供浏览器所加载页面的详细信息的locatio对象
---提供胡勇显示器分辨率详细信息的screen对象
---对cookie的支持
---像XMLHttpRequest和IE的ActiveXObject这样的自定义对象

小结

JavaScript是一种专为与网页交互而设计的脚本语言

由三个不同的部分组成:
---ECMAScript 由ECMA-262定义,提供核心语言功能
---文档对象模型(DOM),提供访问和操作网页内容的方法和接口
---浏览器对象模型(BOM),提供与浏览器交互的方法和接口

《JavaScript高级程序设计》读书笔记(一)JavaScript简介的更多相关文章

  1. javascript高级程序设计读书笔记-事件(一)

    读书笔记,写的很乱   事件处理程序   事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别  没有DOM1 同样的事件 DOM0会顶掉html事件   因为他们都是属性  而 ...

  2. JavaScript高级程序设计-读书笔记(1)

    第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l        ECMAScript:提供核心语言功能: l        文 ...

  3. JavaScript高级程序设计 读书笔记

    第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第 ...

  4. javascript高级程序设计读书笔记

    第2章  在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文 ...

  5. Javascript高级程序设计读书笔记(第六章)

    第6章  面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...

  6. JavaScript高级程序设计-读书笔记(7)

    第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...

  7. JavaScript高级程序设计 读书笔记 第一章

    JavaScript是一种专门为与网页交互而设计的脚本语言 JavaScript实现 ECMAscript---核心 DOM---文档对象模型 BOM---浏览器对象模型

  8. Javascript高级程序设计读书笔记(第二章)

    第二章  在HTML中使用Javascript 2.1<script>元素 延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到 ...

  9. 《JavaScript高级程序设计》笔记:JavaScript简介(一)

    javascript从一个简单的输入验证器发展成为一门强大的编程语言,完全出乎人们的意料. javascript实现一个完整的javascript实现应该由下列三个不同的部分组成:1:核心(ECMAS ...

  10. JavaScript高级程序设计-读书笔记(6)

    第20章 JSON JSON是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量 JSON的语法可以表示一下三种类型的值 l        简单值:使用与JavaScript相同的语法,可以在JS ...

随机推荐

  1. Apollo安装教程

    最近一直在研究Apollo的安装问题,浪费了几天时间,所有特意来记录一下安装心得. UBUNTU 14.04安装 这个我是把自己的笔记本全部转换为ubuntu系统,操作相对简单,大家可以自行查找,另外 ...

  2. Go性能调优

    文章引用自   Go性能调优 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况. Go语言是一个对性能特别看重的语言,因此语言中自带了 pr ...

  3. 寒假安卓app开发学习记录(4)

    今天的任务第一个项目运行并部署.没想到第一个环节就出现了错误,运行之后eclipse报错:Errors occurred during the build.Errors running builder ...

  4. SQL语句 分组 多行合并成一行

    ,,'')) FROM Table d GROUP by Id 另外: sql 单引号转义:两个单引号转义为一个单引号 set @sql='STUFF((SELECT '','' + Names FR ...

  5. centos7下Maven Java selenium3环境搭建

    centos7下Maven Java selenium3环境搭建 一.Jdk安装 我这里用的是open-jdk. [adawang@localhost src]$ sudo yum search op ...

  6. Django - 美化显示request.META

    def index(request): values = request.META.items() html = [] for k, v in values: html.append('<tr& ...

  7. word中如何删除一张空白表格

    百度知道:https://baijiahao.baidu.com/s?id=1631677477148377412&wfr=spider&for=pc 当word中出现如下一张空白表格 ...

  8. 本机修改虚拟机linux中的代码文件

    最近在研究swoole这个框架,好不容易装了一个swoole,为了开发方面,需要早宿主机和虚拟机之间文件共享,一开始使用vmware tool可以实现共享,但是只能在linux中看到win共享的文件, ...

  9. 再次配置caffe-windows vs2015+cuda10.0+RTX2070+python3.5

    前段时间换了一个配置高一点的台式机,因此重新安装了caffe,这次安装遇到了很多以前没有遇到的问题,特记录一下. 先罗列一下电脑配置:vs2015+cuda10.0+python3.5(Anacond ...

  10. MySQL双机热备环境搭建

    一.    前期准备 准备两台服务器(电脑),接入到同一局域网中,能够使双方可以ping通: 安装MySQL数据库,具体安装方法网上很全面,但是安装的版本需保持一致: 服务器IP地址设置. l  A服 ...