起于客户端数据验证
特性
----闭包
----匿名函数
----元编程等
----等
想要全面理解和掌握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. VSCode配置FTP

    首先在VScode中下载安装插件SFTP Windwos下摁Ctrl+Shift+P,输入SFTP: config命令并运行,进入sftp.json配置项如下: { "name": ...

  2. 在远程连接mysql数据库出现问题怎么办

    远程连接mysql数据库报“Communications link failure...”错误 今天在用myEclipse连接时提示:Communications link failure,Last ...

  3. 闲来无事.gif

  4. ES6 Set和Map的那点事

    Set  1.Set特点 类数组 新增数据结构 是构造函数 成员值唯一  注重独一无二的特征 2.Set实例的常用方法 console.log('------------Set操作方法-------- ...

  5. vue 实现todolist,包含添加,删除,统计,清空,隐藏功能

    vue 实现todolist,包含添加,删除,统计,清空,隐藏功能 添加:生成列表结构(v-for+数组).获取用户输入(v-model).通过回车新增数据(v-on+.enter) 删除:点击删除指 ...

  6. 【10】DP青蛙跳台阶

    一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1 ...

  7. Go流程结构(if)

    一.程序的流程结构 程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构. 顺序结构:从上向下,逐行执行. 选择结构:条件满足,某些代码才会执行.0-1次 分支语句:if,switch,sele ...

  8. C#常用集合

    数组的缺点:长度固定.因此引入集合的使用. 注:泛型集合更安全,性能更高. 常用集合 对应泛型 ①动态数组ArrayList    List<T> 常用方法属性:Add  Clear  C ...

  9. awk函数实现将点分式形式的掩码转换为十进制形式的掩码

    在用awk处理文本时,需要将源数据为点分式形式的掩码转换为十进制形式的掩码,下边的函数可简单实现: 转换功能函数cdr2mask function cdr2mask(mask_point) { num ...

  10. CF1067C Knights 构造

    题目链接:https://codeforc.es/contest/1067/problem/C 题意:有一个无限大的棋盘,棋盘上初始放置了\(n\)个国际象棋马.如果某一个格子没有放马且能够被\(4\ ...