日期:2014-05-16 浏览次数:20402 次
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?:?{};??
??//?...
??
}?