js setTimeout 常見問題小結(jié)
更新時間:2013年08月13日 11:13:10 作者:
主要包括this指向問題、向setTimeout傳入?yún)?shù)等相關(guān)問題,下面與大家分享下以上問題的解決方法,感興趣的朋友可以參考下
一、 setTimeout this指向問題
setTimeout("this.count()",1000)中的this指的是window對象.
js的setTimeout定義為
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代碼
return timer//返回一個標(biāo)記符
}
所以當(dāng)向setTimeout()傳入this的時候,當(dāng)然指的是它所屬的當(dāng)前對象window了。
解決方法:
1、在調(diào)用setTimeout前先保存this,如self=this; setTimeout("self.count()", 1000);
2、使用jquery的$.proxy改變this指向,如$.proxy(setTimeout("this.count()"), this);
二、向setTimeout傳入?yún)?shù)
function init(){
var url = "<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=" + "<%=xzqh%>" + "&rand="+Math.random();
//alert(url);
window.setTimeout(function(){ searchJDWater(url);},100);
}
親測可以傳入任意參數(shù),可以是string類型也可以是其他的類型,只是在傳入this時要注意用上面的解決方法。
附上一個更加詳細的向settimeout傳參方法鏈接http://chabaoo.cn/article/40524.htm
setTimeout("this.count()",1000)中的this指的是window對象.
js的setTimeout定義為
復(fù)制代碼 代碼如下:
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代碼
return timer//返回一個標(biāo)記符
}
所以當(dāng)向setTimeout()傳入this的時候,當(dāng)然指的是它所屬的當(dāng)前對象window了。
解決方法:
1、在調(diào)用setTimeout前先保存this,如self=this; setTimeout("self.count()", 1000);
2、使用jquery的$.proxy改變this指向,如$.proxy(setTimeout("this.count()"), this);
二、向setTimeout傳入?yún)?shù)
復(fù)制代碼 代碼如下:
function init(){
var url = "<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=" + "<%=xzqh%>" + "&rand="+Math.random();
//alert(url);
window.setTimeout(function(){ searchJDWater(url);},100);
}
親測可以傳入任意參數(shù),可以是string類型也可以是其他的類型,只是在傳入this時要注意用上面的解決方法。
附上一個更加詳細的向settimeout傳參方法鏈接http://chabaoo.cn/article/40524.htm
相關(guān)文章
關(guān)于js的三種使用方式(行內(nèi)js、內(nèi)部js、外部js)的程序代碼
本文主要和大家介紹關(guān)于js的三種使用方式(行內(nèi)js、內(nèi)部js、外部js)的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家2018-05-05JavaScript使用escape()、encodeURI()和decodeURI()實現(xiàn)URI編碼解碼
這篇文章介紹了JavaScript使用escape()、encodeURI()和decodeURI()實現(xiàn)URI編碼解碼的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05JavaScript程序中實現(xiàn)繼承特性的方式總結(jié)
JavaScript是一門強行聲稱面向?qū)ο蟮恼Z言,而繼承是面向?qū)ο蟮囊淮笾饕匦?這里我們根據(jù)阮一峰老師的文章來看一下JavaScript程序中實現(xiàn)繼承特性的方式總結(jié)2016-06-06javascript學(xué)習(xí)筆記(十七) 檢測瀏覽器插件代碼
javascript學(xué)習(xí)筆記之檢測瀏覽器插件代碼,需要的朋友可以參考下2012-06-06有關(guān)javascript的性能優(yōu)化 (repaint和reflow)
本篇文章,小編將為大家介紹,有關(guān)javascript的性能優(yōu)化(repaint和reflow),有需要的朋友可以參考一下2013-04-04