js setTimeout 常見問題小結(jié)
更新時間:2013年08月13日 11:13:10 作者:
主要包括this指向問題、向setTimeout傳入?yún)?shù)等相關問題,下面與大家分享下以上問題的解決方法,感興趣的朋友可以參考下
一、 setTimeout this指向問題
setTimeout("this.count()",1000)中的this指的是window對象.
js的setTimeout定義為
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代碼
return timer//返回一個標記符
}
所以當向setTimeout()傳入this的時候,當然指的是它所屬的當前對象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://www.dhdzp.com/article/40524.htm
setTimeout("this.count()",1000)中的this指的是window對象.
js的setTimeout定義為
復制代碼 代碼如下:
window.setTimeout=function(vCode, iMilliSeconds [, sLanguage]){
//.....代碼
return timer//返回一個標記符
}
所以當向setTimeout()傳入this的時候,當然指的是它所屬的當前對象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://www.dhdzp.com/article/40524.htm
相關文章
JavaScript字符串對象replace方法實例(用于字符串替換或正則替換)
這篇文章主要介紹了JavaScript字符串對象replace方法實例,replace方法用于字符串替換,同時支持正則表達式替換,需要的朋友可以參考下2014-10-10
小議JavaScript中Generator和Iterator的使用
這篇文章主要介紹了小議JavaScript中Generator和Iterator的使用,文中舉了一個簡單的示例來說明二者之間的配合,需要的朋友可以參考下2015-07-07
有關javascript的性能優(yōu)化 (repaint和reflow)
本篇文章,小編將為大家介紹,有關javascript的性能優(yōu)化(repaint和reflow),有需要的朋友可以參考一下2013-04-04
高性能的javascript之加載順序與執(zhí)行原理篇
這篇文章主要給大家介紹了關于高性能的javascript之加載順序與執(zhí)行原理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01

