简单的发布订阅模式的通用实现
|
|
- 生成多个发布订阅对象会有多余的浪费。
- 考虑到有些异步请求,有可能发布了消息,而对该消息订阅的代码还没加载出,所以应该允许先订阅再发布。(设立一个存放离线事件的堆栈)
- 对于还没有被订阅的事件,在堆栈中保存发布的动作。等有对象来订阅事件时重新遍历发布堆栈里的事件。
- 对于离线事件,生命周期只有一次。
- 当订阅的事件多了也能产生命名冲突,应该允许创建命名空间。
|
|
|
|
|
|
|
|
缓存代理
1.一组策略类,策略类封装了具体的算法,并负责具体的计算过程。
2.环境类context。context接受客户请求,把请求委托给一个策略类。
|
|
|
|
|
|
|
|
|
|
|
|
我们通过这13个属性获取的都是近似的整数。
|
|
|
|
一般我们用 元素.style.样式来获取元素的样式。这样获取到的是元素的行内样式。如果想获取元素经过计算后的样式需要使用window.getComputedStyle(ele,null);
经过浏览器计算过的样式是指 只要当前标签可以在浏览器中呈现出来,那么他所有样式都是经过浏览器计算过的,哪怕那些样式你没有写也可以获取到。
window.getComputedStyle(box,null)接收两个参数。 box指要获取样式的元素,null指伪类。
|
|
|
|