js setTimeout 흔 한 문제 요약

1163 단어 jssetTimeout
1.setTimeout this 가 가리 키 는 문제 setTimeout("this.count()",1000)의 this 는 window 대상 을 말 합 니 다.js 의 setTimeout 은
 
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....
return timer//
}
로 정의 되 기 때문에 setTimeout()에 this 로 전 달 될 때 당연히 현재 대상 window 를 말 합 니 다.해결 방법:1.setTimeout 을 호출 하기 전에 this 를 저장 합 니 다.예 를 들 어 self=this;setTimeout("self.count()", 1000); 2.jquery 의$.proxy 를 사용 하여 this 지향 을 변경 합 니 다.예 를 들 어$.proxy(setTimeout("this.count()"),this);2.setTimeout 에 매개 변수
 
function init(){
var url = "<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=" + "<%=xzqh%>" + "&rand="+Math.random();
//alert(url);
window.setTimeout(function(){ searchJDWater(url);},100);
}
를 직접 측정 하면 임의의 매개 변 수 를 전달 할 수 있 고 string 유형 일 수도 있 으 며 다른 유형 일 수도 있 습 니 다.다만 this 에 들 어 갈 때 위의 해결 방법 을 주의해 야 합 니 다.settimeout 에 더 자세 한 참조 방법 링크 를 추가 합 니 다https://www.jb51.net/article/40524.htm

좋은 웹페이지 즐겨찾기