>  기사  >  웹 프론트엔드  >  Javascript 타이머는 매개변수_javascript 기술 전달 방법을 호출합니다.

Javascript 타이머는 매개변수_javascript 기술 전달 방법을 호출합니다.

WBOY
WBOY원래의
2016-05-16 18:41:56925검색

window.setTimeout이든 window.setInterval이든 함수 이름을 호출 핸들로 사용할 때는 매개변수를 취해야 하는 경우가 많아 이를 해결할 수 있는 방법을 찾아야 합니다.
예를 들면 다음과 같습니다. , hello(_name) 함수의 경우 사용자 이름에 대한 환영 메시지를 표시하는 데 사용됩니다.


var userName ="Tony";
//사용자 이름에 따라 환영 메시지 표시
function hello(_name){
alert("hello," _name);
}

현재로서는 다음 명령문을 사용하여 hello 함수의 실행을 3초 동안 지연시키는 것은 불가능합니다.
window.setTimeout(hello( userName),3000);
이렇게 하면 hello 함수가 즉시 실행되고 값이 호출 핸들로 setTimeout 함수에 전달되며 결과는 다음과 같이 하면 원하는 결과를 얻을 수 없습니다. 문자열 형식 사용:
window.setTimeout("hello(userName)",3000);
여기에서 문자열은 userName이 변수를 나타내는 JavaScript 코드의 일부입니다. 충분히 직관적이며 어떤 경우에는 함수 이름을 사용해야 합니다. 다음은 매개변수를 사용하여 함수를 호출하는 약간의 요령입니다.
코드 복사 코드는 다음과 같습니다.




여기서 _hello 함수는 매개변수를 받고 매개변수 없이 함수를 반환하도록 정의되어 있습니다. 매개변수를 사용하지 않고 호출할 수 있습니다. window.setTimeout 함수에서 _hello(userName)를 사용하여 매개변수 핸들 없이 함수를 반환하면 매개변수 전달 기능이 구현됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.