下午好!我想写自己的图书馆。其中的主要类是Event。它执行了很多艰苦的工作。我想这样做,以便程序员使用这个库,可以在一个特别指定的地方添加他的小事件,如userEventFirst,userEventTwo等。他没有找这个地方,也没有弄错,我想给他一个“界面”。
这是我的班级:
addEvent = function () {
this.userEventFirst = function () {};
this.userEventTwo = function () {};
this.attachEvent = function (event, handler) {
switch ( event ) {
case 'eventFirst': this.userEventFirst = handler; break;
case 'eventTwo': this.userEventTwo = handler; break;
}
};
this.working = function () {
this.userEventFirst();
//... hard work
var div = document.getElementById('text');
div.innerHTML += 'class working<br>';
this.userEventTwo();
}
};
在这里程序员接受我的课程,并附加行动:
// programmer use my class:
addEvent1 = new addEvent();
addEvent1.attachEvent('eventFirst', function() {
var div = document.getElementById('text');
div.innerHTML += 'user event First<br>' ;
});
addEvent1.attachEvent('eventTwo', function() {
var div = document.getElementById('text');
div.innerHTML += 'user event Two<br>' ;
});
addEvent1.working();
一切正常。它的成功程度如何呢?性能可能会丢失等。这样的事件可能是十几个,它们可以在循环或计时器中调用。程序员不仅可以询问所有事件,还可以询问他所需要的事件。你看,我之前只用pascal编程了)