读书人

js 形式

发布时间: 2012-09-08 10:48:07 作者: rapoo

js 模式

1、JavaScript 要通过原型链来实现继承:

function?Employee(first,?last,?position)?{??
??//?call?the?superclass?constructor??
? Person.call(this,?first,?last);??
??this.position?=?position;??
};??
//?inherit?from?Person??
Employee.prototype?=?Object.create(Person.prototype);??
Employee.prototype.constructor?=?Employee;??
??
//?define?an?overridding?toString()?method??
Employee.prototype.toString?=?function()?{??
??//?call?superclass's?overridden?toString()?method??
??return?Person.prototype.toString.call(this)?+??
?????????'?is?a?'?+?this.position;??
};?

2、发布订阅模式

var?event?=?(function()?{??
??
??//?private?variables??
??var?listeners?=?[];??
??
??function?addEventListener(f)?{??
????listeners.push(f);??
??}??
??
??function?clearEventListeners()?{??
????listeners?=?[];??
??}??
??
??//?...??
??
??//?export?the?module's?API??
??return?{??
????addEventListener:?addEventListener,??
????clearEventListeners:?clearEventListeners??
????//?...??
?};??
}());?

3、js 闭包实现

for?(var?i=0,?ilen=elements.length;?i<ilen;?i++)?{??
??var?element?=?elements[i];??
??(function(num)?{??
????LIB_addEventListener(element,?'click',?function(event)?{??
??????alert('I?was?originally?number?'?+?num);??
????});??
??}(i));??
}?

4、js 取得参数

function(a,?b,?option)?{??
??option?=?arguments.length?>?2???option?:?{};??
??//?...??
}?

读书人网 >JavaScript

热点推荐