js setTimeout 常见问题小结
2013-08-13 00:00
537 查看
一、 setTimeout this指向问题
setTimeout("this.count()",1000)中的this指的是window对象.
js的setTimeout定义为
所以当向setTimeout()传入this的时候,当然指的是它所属的当前对象window了。
解决方法:
1、在调用setTimeout前先保存this,如self=this; setTimeout("self.count()", 1000);
2、使用jquery的$.proxy改变this指向,如$.proxy(setTimeout("this.count()"), this);
二、向setTimeout传入参数
亲测可以传入任意参数,可以是string类型也可以是其他的类型,只是在传入this时要注意用上面的解决方法。
附上一个更加详细的向settimeout传参方法链接/article/1252031.html
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传参方法链接/article/1252031.html
相关文章推荐
- js setTimeout 常见问题小结
- js setTimeout 常见问题
- js setTimeout(function(param),1000)传参问题解决
- js SetTimeout传参问题
- JS 开发过程中遇到的常见问题
- 【JS/辨析】js中的计时器:setTimeout & setInterval
- linux安装多tomcat的配置方法(常见问题:Cannot find //bin/setclasspath.sh)
- 【百度地图API】JS版本的常见问题
- JS中window.setInterval和window.setTimeout的区别
- JS 类型转换常见方法小结
- 【帖子索引】常见Js问题解决--更新中...
- Mysql5.7解压版的安装和卸载及常见问题小结
- asp.net 页面编码常见问题小结
- 微信公众号之:JSSDK接入以及invalid signature等常见错误问题
- js 跨域和ajax 跨域问题小结
- [Node.js]“包的发布”,“包的更新”流程及发布过程中的常见问题
- JS的IE和FF兼容性问题的汇总小结
- bootstrap+angular关于js常见的一些问题
- StratoIO WebPrinter如何引入外部JS?StratoIO WebPrinter控件常见的问题
- ReactJS & dva 项目常见报错问题与解决方法 (react-router 4)