디자인 모델 에 관 한 면접 문제
1873 단어 면접 문제
<script type="text/javascript">
var Event = {
// on eventName
// eventName , callback
on: function(eventName, callback) {
//
/*if(!this.obj){
this.obj={};
} */// 1
if(!this.obj){
Object.defineProperty(this,"obj",{
enumerable:false,
value:{}
});
}
if(!this.obj[eventName]){
this.obj[eventName] = [callback];
}
else{
this.obj[eventName].push(callback);
}
},
// eventName
emit: function(eventName) {
//
if(this.obj[eventName]){
for(var i=0; i<this.obj[eventName].length; i++){
this.obj[eventName][i](arguments[1]);
}
}
}
};
// 1
Event.on('test', function(result) {
console.log(result);
});
Event.on('test', function() {
console.log('test');
});
Event.emit('test', 'hello world'); // 'hello world' 'test'
// 2
var person1 = {};
var person2 = {};
Object.assign(person1, Event);
Object.assign(person2, Event);
person1.on('call1', function() {
console.log('person1');
});
person2.on('call2', function() {
console.log('person2');
});
person1.emit('call1'); // 'person1'
person1.emit('call2'); //
person2.emit('call1'); //
person2.emit('call2'); // 'person2'
</script>
</code></pre>
</div>
</div>
</div>
</div>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그래머 면접에서의 다중 스레드 문제 요약wait ()/notify ()/notify All () 의 모든 방법을 호출할 때, 현재 라인이 이 대상의 자물쇠를 얻지 못하면, Illegal MonitorState Exception의 이상을 던집니다. Thre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.