2018.6.24 星期日 11:25
人民邮电
2013.3
二,三,七-4 略过了
## 一 引言
### 1.1 回顾历史
### 1.2 变革之风
### 1.3 分析现状
### 1.4 展望未来
### 1.5 面向对象的程序设计
对象,类,封装,聚合,继承,多态
### 1.6 OOP概述
### 1.7 训练环境设置
### 1.8 使用firebug控制台
## 二 基本数据类型、数组、循环及条件表达式
### 2.1 变量
### 2.2 操作符
### 2.3 基本数据类型
### 2.4 基本数据类型综述
### 2.5 数组
### 2.6 条件与循环
### 2.7 注释
## 三 函数
### 3.1 什么是函数
### 3.2 预定义函数
### 3.3 变量的作用域
### 3.4 函数也是数据
### 3.5 闭包
## 四 对象
### 4.1 从数组到对象
### 4.2 内建对象
### 4.3
### 4.4
### 4.
## 五 原型
### 5.1 原型属性
利用原型添加方法与属性,利用原型的方法与属性,自身属性与原型,利用自身,isPrototypeOf(),神秘的proto链接
### 5.2 扩展内建对象
关于的讨论,一些原型陷进
## 六 继承
源码
### 6.1 原型链
示例,将共享属性迁移到原型中去
### 6.2 只继承于原型
### 6.3 uber-子对象访问父对象的方式
### 6.4 将继承部分封装成函数
### 6.5 属性拷贝
### 6.6 小心处理引用拷贝
### 6.7 对象之间的继承
### 6.8 深拷贝
### 6.9 object()
### 6.0 原型继承与属性拷贝的混合应用
### 6.1 多重继承
### 6.2 寄生式继承
### 6.3 构造器借用
## 七 浏览器环境
### 7.1 在html页面中引入js代码
### 7.2 概述:BOM和DOM
### 7.3 BOM
window对象再探,navigator,firebug备忘,location,history,frames,screen,open/close,moveTo/resizeTo,alert/prompt/confirm,setTimeout/setInterval,document
### 7.4 DOM
Core DOM与 HTML DOM,DOM节点的访问,修改,新建,移除,只适用于html的dom对象
### 7.5 事件
内联html属性法,元素属性法,dom的事件监听器,捕捉法与冒泡法,阻断传播,阻止默认行为,跨浏览器事件监听,事件类型
### 7.6 XMLHttpRequest对象
发送请求,处理响应,在早于ie7版本创建XMLHtttpRequest对象,A代表异步,X代表XML,实例示范
## 八 编程模式与设计模式
### 8.1 编程模式
行为隔离,命名空间,初始化分支,延迟定义,配置对象,私有属性和方法,特权函数,私有函数的公有化,自执行函数,链式调用,JSON
2019.4.6 星期六 12:25 $1
行为隔离:html,css,js
命名空间: namespace
初始化分支:不做过多假设,单独检测
延迟定义:第一次调用的时候设置
配置对象:第二个参数为对象,扩展方便
私有属性和方法:闭包($PS-js模式: 构造函数和立即执行函数,揭示模式)
Public:对象的属性(或方法)可以被所有人访问
Private:只有对象自己可以访问这些属性
Protectdd:仅该对象或其继承者才能访问这些属性
特权函数:普通的公共函数,但可以访问对象的私有属性和方法
私有函数的公有化:定义的私有函数又希望某些外部代码可以访问($PS-js模式:揭示模式)
var _setStyle=function(){}
自执行函数:特别适合某些脚本加载是所执行的一次性初始化任务。也可用于创建和返回对象
链式调用:
JSON:不属于编程模式,是轻量级的数据交换格式
### 8.2 设计模式
单件1,单件2,工厂,装饰器,观察者
Book of Four或者Gang of Four或者GoF(代表书的4位作者)
大致三组:创建型,结构型,行为型。 共23个模式,发书后发现更多,只介绍4个
单件1:简单一个对象就是单件
单件2:构造器。1)检测全局变量;2)利用构造函数属性,但是该属性也是公有的;3)使用私有属性,利用闭包
### 3 工厂模式:多个相似对象而又不知道先使用哪种。代码根据输入或其他规则,自行决定创建那种类型对象
$PS-js模式:Object
1 | // 动态创建委托给工厂函数.把多个if替换 |
### 4 装饰器:结构型模式,考虑如何拓展对象的功能。不使用线性式(父-子-孙)
为一个基础对象创建若干个装饰对象以拓展其功能。然后由程序自行选择不同的装饰起,不按不同的顺序使用它们。
1 | // 装饰一颗圣诞树 |
### 5 观察者:行为型模式,处理不同对象间互相通信。
订阅者/发行商模式。通常包含2类对象:一个或多个发行商对象,一个或多个订阅者对象
浏览器事件:浏览器-发行商, 事件订阅者会监听到这类事件,并在被通知。 浏览器为每一个订阅者发送一个事件对象
分两类:推送和发送。
推送实例。…混合类。。 任何一个对象都可以成为发行商,任何一个功能型对象都可以成为订阅者
观察者对象该有的属性和方法:1)由回调函数构成的订阅者数组;2)添加、删除;3)publish接受并传递数据给订阅者;4 make
$PS:观察者添加的订阅者是订阅者的一个方法/事件(回调),比如click,keydown,read,而不是一个对象。不能添加一个对象,需要添加的是对象的一个订阅行为(方法/事件),只有这样才是在行为发生的时候,订阅内容。该例中是‘读’的时候,而不是一个生硬的blogger对象
$PS: 下面例子发布者调用
this.publish
好像有些问题1 | var observer={ |
13:51 $1
11:46