간단한 프런트엔드 이벤트 프레임워크
js event demo
js event demo
<span style="color: #008000;">//</span><span style="color: #008000;"> </span>
<span style="color: #0000ff;">function</span><span style="color: #000000;"> EventEmitter() {
</span><span style="color: #0000ff;">this</span>.events =<span style="color: #000000;"> {};
}
</span><span style="color: #008000;">//</span><span style="color: #008000;"> </span>
EventEmitter.prototype.on = <span style="color: #0000ff;">function</span><span style="color: #000000;">(ename, call){
</span><span style="color: #0000ff;">this</span>.events[ename] = <span style="color: #0000ff;">this</span>.events[ename] ||<span style="color: #000000;"> [];
</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.events[ename].push(call);
}
EventEmitter.prototype.emit </span>= <span style="color: #0000ff;">function</span><span style="color: #000000;">(ename, _){
</span><span style="color: #0000ff;">var</span> events = <span style="color: #0000ff;">this</span><span style="color: #000000;">.events[ename];
</span><span style="color: #008000;">//</span><span style="color: #008000;"> , ename</span>
<span style="color: #0000ff;">var</span> args = Array.prototype.slice.call(arguments, 1<span style="color: #000000;">);
</span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">var</span> i = 0; i < events.length; i++<span style="color: #000000;">){
</span><span style="color: #008000;">//</span><span style="color: #008000;"> </span>
events[i].apply(<span style="color: #0000ff;">null</span><span style="color: #000000;">, args);
}
}
</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> app(){
calltime </span>= 0<span style="color: #000000;">;
</span><span style="color: #008000;">//</span><span style="color: #008000;"> </span>
<span style="color: #0000ff;">this</span>.on('start',<span style="color: #0000ff;">function</span><span style="color: #000000;">(user, date){
calltime </span>+= 1<span style="color: #000000;">;
console.log(</span>'event start: ' + user + " " + date + " " +<span style="color: #000000;"> calltime);
});
</span><span style="color: #0000ff;">this</span>.on('start', <span style="color: #0000ff;">function</span><span style="color: #000000;">(user, date){
calltime </span>+= 1<span style="color: #000000;">;
console.log(</span>'event start: ' + user + " " + date + " " +<span style="color: #000000;"> calltime);
})
}
app.prototype </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> EventEmitter();
</span><span style="color: #0000ff;">var</span> a = <span style="color: #0000ff;">new</span><span style="color: #000000;"> app();
</span><span style="color: #008000;">//</span><span style="color: #008000;"> </span>
a.emit('start', 'fred', <span style="color: #0000ff;">new</span><span style="color: #000000;"> Date());
</span>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.