js setTimeout 常见问题小结


Posted in Javascript onAugust 13, 2013

一、 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传参方法链接https://3water.com/article/40524.htm
Javascript 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
Dom 是什么的详细说明
Oct 25 Javascript
JS弹出对话框返回值代码(asp.net后台)
Dec 28 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
Sep 14 Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
Aug 26 Javascript
webpack常用配置项配置文件介绍
Nov 07 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
原生JS实现$.param() 函数的方法
Aug 10 Javascript
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
删除select中所有option选项jquery代码
Aug 12 #Javascript
js获取本机的外网/广域网ip地址完整源码
Aug 12 #Javascript
JavaScript解析URL参数示例代码
Aug 12 #Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 #Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 #Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 #Javascript
判断ie的两种简单方法
Aug 12 #Javascript
You might like
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
2018/09/27 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
投标保密承诺书
2014/05/19 职场文书
个人贷款收入证明
2014/10/26 职场文书
前台文员岗位职责
2015/02/04 职场文书
答辩状格式范本
2015/05/22 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS
Linux中各个目录的作用与内容
2022/06/28 Servers