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 : {};
// ...
}