> 웹 프론트엔드 > JS 튜토리얼 > window.setTimeout 메소드에서 객체 전송_javascript 팁

window.setTimeout 메소드에서 객체 전송_javascript 팁

WBOY
풀어 주다: 2016-05-16 19:23:07
원래의
912명이 탐색했습니다.

구문은 다음과 같습니다.

window.setTimeout(expr,msec)

expr은 실행 문자열이며, msec 밀리초 이후에는 js로 실행됩니다. 나는 어제 expr도 함수가 될 수 있다는 것을 발견했습니다. 하하, 이 기능을 사용하면 객체를 전송할 수 있습니다.
다음 코드는 foo1 함수의 객체 p를 foo2 함수로 지연 전송하는 기능을 구현합니다.


[모두 선택하려면 Ctrl A 참고: 외부 J를 도입해야 하는 경우 새로 고쳐야 합니다. 실행
]


[Ctrl A 모두 선택 참고:
외부 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와 같은 대부분의 프레임워크는 유사한 접근 방식을 채택합니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿