구문은 다음과 같습니다.
window.setTimeout(expr,msec)
expr은 실행 문자열이며, msec 밀리초 이후에는 js로 실행됩니다. 나는 어제 expr도 함수가 될 수 있다는 것을 발견했습니다. 하하, 이 기능을 사용하면 객체를 전송할 수 있습니다.
다음 코드는 foo1 함수의 객체 p를 foo2 함수로 지연 전송하는 기능을 구현합니다.
]
외부 J를 도입해야 합니다. 실행하려면 새로 고쳐야 합니다.
]
[Ctrl A 모두 선택 참고:
외부 J를 도입해야 하는 경우 실행을 위해 새로 고쳐야 합니다.
]
이제 많은 프레임워크는 실제로 멀티캐스트 이벤트를 직접 사용합니다(구현 원리는 복잡하지 않습니다). 멀티캐스트 이벤트 자체는 실제로 표준 함수이지만 일반적으로 다음과 같은 메소드를 갖습니다.
MuEvent.add = 함수(func) { ... }
MuEvent.addMethod = 함수(인스턴스, func) { ... }
첫 번째 방법을 사용할 때 func 이벤트 처리 기능을 활성화할 때 MuEvent의 현재 인스턴스를 이 개체로 사용하고, 두 번째 방법은 들어오는 인스턴스를 이 개체로 사용합니다.
따라서 setTimeout의 경우 전통적인 방법은 이를 사용하여 다음과 같이 메서드를 활성화하는 것입니다.
------------
함수 doTimer() {
obj1.call();
obj2.call();
}
setTimeout(doTimer, 1000)
events 코드는 다음과 같습니다:
----------
var e = new MuEvent()
e.addMethod(obj1, obj1.call); 🎜> e.addMethod(obj2, obj2.call);
setTimeout(e, 1000)
---------
물론, 좀 더 COOL하게 작성하고 싶다면 다음과 같이 하면 됩니다:
------------
setTimeout(function() {
새로운 MuEvent 반환(obj1, obj1.call, obj2, obj2.call)
}(), 1000); 🎜>소개를 조금 하자면, 제가 만든 Qomo는 이런 형태로 구현된 MuEvent입니다. Atlas와 같은 대부분의 프레임워크는 유사한 접근 방식을 채택합니다.