æ 论æ¯window.setTimeoutè¿æ¯window.setIntervalï¼å¨ä½¿ç¨å½æ°åä½ä¸ºè°ç¨å¥ææ¶é½ä¸è½å¸¦åæ°ï¼èå¨è®¸å¤åºåå¿
é¡»è¦å¸¦åæ°ï¼è¿å°±éè¦æ³æ¹æ³è§£å³ãç»ç½ä¸æ¥è¯¢åæ´çå¦ä¸ï¼
ä¾å¦å¯¹äºå½æ°hello(_name)ï¼å®ç¨äºé对ç¨æ·åæ¾ç¤ºæ¬¢
è¿ä¿¡æ¯ï¼
var userName="jack";
//æ ¹æ®ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯
function hello(_name){
alert("hello,"+_name);
}
è¿æ¶ï¼å¦æä¼å¾ä½¿ç¨ä»¥ä¸è¯å¥æ¥ä½¿helloå½æ°å»¶è¿3ç§æ§è¡æ¯ä¸å¯è¡çï¼
window.setTimeout(hello(userName),3000);
è¿å°ä½¿helloå½æ°ç«å³æ§è¡ï¼å¹¶å°è¿åå¼ä½ä¸ºè°ç¨å¥æä¼ éç»setTimeoutå½æ°ï¼å
¶ç»æ并ä¸æ¯ç¨åºéè¦çãè使ç¨å符串形å¼å¯ä»¥è¾¾å°æ³è¦çç»æï¼
window.setTimeout("hello(userName)",3000);è¿æ¯æ¹æ³ï¼ä¸ï¼
è¿éçå符串æ¯ä¸æ®µJavaScript代ç ï¼å
¶ä¸çuserName表示çæ¯åéï¼èä¸ç»æµè¯ï¼è¿ä¸ªåéè¦æ¯ä¸ªå
¨å±çï¼å¦ææ¯å¨æå½æ°éé¢å¦æ¤è°ç¨ setTimeoutï¼èæ¤åéåªæ¯ä¸ªå½æ°å
é¨åéçè¯ï¼æ¯ä¼æ¥åéä¸åå¨çãä½è¿ç§åæ³ä¸å¤ç´è§ï¼èä¸æäºåºåå¿
须使ç¨å½æ°åï¼äºæ¯æ人æ³å°äºå¦ä¸
æ¹æ³ï¼äºï¼ï¼
<script language="JavaScript" type="text/javascript">
<!--
var userName="jack";
//æ ¹æ®ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯
function hello(_name){
alert("hello,"+_name);
}
//å建ä¸ä¸ªå½æ°ï¼ç¨äºè¿åä¸ä¸ªæ åæ°å½æ°
function _hello(_name){
return function(){
hello(_name);
}
}
window.setTimeout(_hello(userName),3000);
//-->
</script>
è¿ éå®ä¹äºä¸ä¸ªå½æ°_helloï¼ç¨äºæ¥æ¶ä¸ä¸ªåæ°ï¼å¹¶è¿åä¸ä¸ªä¸å¸¦åæ°çå½æ°ï¼å¨è¿ä¸ªå½æ°å
é¨ä½¿ç¨äºå¤é¨å½æ°çåæ°ï¼ä»è对å
¶è°ç¨ï¼ä¸éè¦ä½¿ç¨åæ°ãå¨ window.setTimeoutå½æ°ä¸ï¼ä½¿ç¨_hello(userName)æ¥è¿åä¸ä¸ªä¸å¸¦åæ°çå½æ°å¥æï¼ä»èå®ç°äºåæ°ä¼ éçåè½ã
å¦å¤ä¹æ人éè¿ä¿®æ¹settimeoutãsetIntervalæ¥å®ç°ï¼ç¸æ¯æ¯æ¯è¾çæ³çãå³ä¸é¢ç
æ¹æ³ä¸ï¼
<script language="JavaScript" type="text/javascript">
<!--
var userName="jack";
//æ ¹æ®ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯
function hello(_name){
alert("hello,"+_name);
}//*=============================================================
//* åè½ï¼ ä¿®æ¹ window.setInterval ï¼ä½¿ä¹å¯ä»¥ä¼ éåæ°å对象åæ°
//* æ¹æ³ï¼ setInterval (åè°å½æ°,æ¶é´,åæ°1,,åæ°n) åæ°å¯ä¸ºå¯¹è±¡:å¦æ°ç»ç
//*=============================================================
var __sto = setInterval;
window.setInterval = function(callback,timeout,param){
var args = Array.prototype.slice.call(arguments,2);
var _cb = function(){
callback.apply(null,args);
}
__sto(_cb,timeout);
}
window.setInterval(hello,3000,userName);
//-->
温馨提示:内容为网友见解,仅供参考