《JavaScript高级程序设计》读书笔记(一)JavaScript简介
起于客户端数据验证
特性
----闭包
----匿名函数
----元编程等
----等
想要全面理解和掌握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简介的更多相关文章
- javascript高级程序设计读书笔记-事件(一)
读书笔记,写的很乱 事件处理程序 事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别 没有DOM1 同样的事件 DOM0会顶掉html事件 因为他们都是属性 而 ...
- JavaScript高级程序设计-读书笔记(1)
第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l ECMAScript:提供核心语言功能: l 文 ...
- JavaScript高级程序设计 读书笔记
第一章 JavaScript 简介 第二章 Html中使用JavaScript 第三章 基本概念 第四章 变量,作用域,内存 第五章 引用类型 第六章 面向对象 第七章 函数表达式 第八章 BOM 第 ...
- javascript高级程序设计读书笔记
第2章 在html中使用javascript 一般都会把js引用文件放在</body>前面,而不是放在<head>里, 目的是最后读取js文件以提高网页载入速度. 引用js文 ...
- Javascript高级程序设计读书笔记(第六章)
第6章 面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...
- JavaScript高级程序设计-读书笔记(7)
第22章 高级技巧 1.高级函数 (1)安全的类型检测 在任何值上调用Object原生的toString()方法,都会返回一个[object NativeConstructorName]格式的字符串. ...
- JavaScript高级程序设计 读书笔记 第一章
JavaScript是一种专门为与网页交互而设计的脚本语言 JavaScript实现 ECMAscript---核心 DOM---文档对象模型 BOM---浏览器对象模型
- Javascript高级程序设计读书笔记(第二章)
第二章 在HTML中使用Javascript 2.1<script>元素 延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到 ...
- 《JavaScript高级程序设计》笔记:JavaScript简介(一)
javascript从一个简单的输入验证器发展成为一门强大的编程语言,完全出乎人们的意料. javascript实现一个完整的javascript实现应该由下列三个不同的部分组成:1:核心(ECMAS ...
- JavaScript高级程序设计-读书笔记(6)
第20章 JSON JSON是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量 JSON的语法可以表示一下三种类型的值 l 简单值:使用与JavaScript相同的语法,可以在JS ...
随机推荐
- CDH安装时,无法纳管全部的节点的一个bug
问题描述: 使用CDH 5.2版本安装时,agent节点有12个.按照安装说明,在各个节点启动cm-agent之后,发现只有6个节点能被纳管.其它的节点总是无法加入纳管中. 在确认防火墙已经关闭后 ...
- VS2017编写c/c++汇编函数并调用
首先在VS里面创建个空项目,然后添加汇编文件 .asm, 右键asm文件属性 --- 常规,改成下图的设置 , 从生成中排除改为否, 项类型改为自定义生成工具 然后点确定. 再次右键asm文 ...
- [2020BUAA软工助教]第1次个人作业
热身作业(阅读) 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么 ...
- jmeter实现服务器端后台接口性能测试
实现目的 在进行服务器端后台接口性能测试时,需要连接到Linux服务器端,然后通过命令调用socket接口,这个过程就需要用到jmeter的SSH Command取样器实现了. 脚本实现 设置CSV ...
- Linux centos7 shell 介绍、 命令历史、命令补全和别名、通配符、输入输出重定向
一.shell介绍 shell脚本是日常Linux系统管理工作中必不可少的,不会shell,就不是一个合格管理员. shell是系统跟计算机硬件交互使用的中间介质,一个系统工具.实际上在shell和计 ...
- JDBC--处理Blob
1.LOB(Large Objects)大对象,是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储多达4GB的数据) --LOB分类两种类型:1)内部LOB: 2)外部LOB: -- ...
- webstorm不能中文输入问题
版本:2018.1.4 原因:http://www.javatang.com/archives/2017/08/27/52101751.html 解决方案:https://www.cnblogs.co ...
- wordpress 修改默认分页条数
哎,终于快做完了,今天弄了弄分页,真是网上扒的模板太高级了,把分页和导航的css和js冲突了,终于解决了, 然后有一个模板是三和一排显示的,其他的是单挑显示的,它默认10条,我寻思改成9条,找了半天, ...
- 使用docker踩过的坑
最近需要使用docker,但是win10电脑的系统不是docker windows适用版本,没法在windows上安装 于是就上centos虚拟机里面装了一个docker docker pull文件的 ...
- 迭代器,for循环本质,生成器,常用内置方法,面向过程编程
一.迭代器 1.迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 2.迭代器给你提供了一种不依赖于索引取值的方式 3.可以迭代取值的对象:字符串,列表,元组,字典 ...