手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js setTimeout 常见问题小结
js setTimeout 常见问题小结
摘要:一、setTimeoutthis指向问题setTimeout("this.count()",1000)中的this指的是window对象.j...

一、 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);

二、向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传参方法链接http://www.jb51.net/article/40524.htm

【js setTimeout 常见问题小结】相关文章:

jquery.validate使用时遇到的问题

JavaScript常用数组算法小结

javascript常用的方法分享

javascript去除空格方法小结

比较方便的onMouseWheel缩放图片效果 原创

JavaScript中用getDate()方法返回指定日期的教程

javascript正则表达式总结

简单实用的网页表格特效

多个iframe自动调整大小的问题

JavaScript中数组添加值和访问值常见问题

精品推荐
分类导航