##Prototype模式 ###总结 在一个对象中定义一个函数, 它们都是由引用创建(所有子对象都指向相同的函数),而不是单独copy,提高了性能
###例子 eg 1. (规定)要求原型继承使用object.create
var vechile= {
getModel:function () {}
##Prototype模式 ###总结 在一个对象中定义一个函数, 它们都是由引用创建(所有子对象都指向相同的函数),而不是单独copy,提高了性能
###例子 eg 1. (规定)要求原型继承使用object.create
var vechile= {
getModel:function () {}
//Mediator | |
(function(root){ | |
//生成特定callback ID, 利于检索 | |
function guidGenerator() {} | |
//订阅者 | |
function Subscriber(fn, options, context) { | |
if(!this instanceof Subscriber){ | |
return new Subscriber(fn, options, context); | |
}else{ | |
this.id = guidGenerator(); |
##Mediator 模式
###总结 系统的不同部分通过该接口进行通信, 确保组件的通信是通过中心, 而不是显示通过互相引用
###例子 Mediator-复杂实现
eg.基本实现
##Singleton模式 ###总结 在JavaScript中, Singleton充当共享资源命名空间, 从全局命名空间中隔离出代码实现, 从而为函数提供单一访问点 ###例子 eg1. var singleton = (function(){ //保持单例的一个引用 var instance; //init返回的对象是单例 function init(){
##Publish/Subscribe模式 ###Observer模式与PubSub模式区别
-> subject - publisher
| | |
|Subscribe | Fire Event ->Topic/Event Channel<-
| | | |
| | | Subscribe | FireEvent
|_Observer <- |_ _ _ Subscriber_ _ _|
##Observer模式 ###总结 一个对象(Subject)维持一系列依赖于它的对象(Observer), 将有关状态变更自动通知给它们。 ###例子 eg. //extend 用于拓展Subject , Observer function extend(obj,extension){ for (var key in obj){ extension[key] = obj[key]; }
##Module模式
###总结 1. 使用闭包封装私有状态和组织 2. 通过函数作用域模拟私有/公有 ###例子 1. eg: var moudule = (function(jquery,_){ //私有变量 var privateVar = 0;
对于个人站或以设计为主导的网站, 用基线控制总体的排版, 会提高整体的可阅读性,视觉自信等。
但是相对来说, 这会为CSSer 带来相当大的困扰, 因为细节所以繁琐, 具体情况具体再分析吧~
1. 基线是由line-height控制, 即最小行宽度为body > line-height的值