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 相关文章推荐
Jquery为a标签的href赋值实现代码
May 03 Javascript
Jquery带搜索框的下拉菜单
May 06 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
Jun 17 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
Oct 22 Javascript
JS控制日期显示的小例子
Nov 23 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
JavaScript 函数的定义-调用、注意事项
Apr 16 Javascript
Vue2.0 slot分发内容与props验证的方法
Dec 12 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
Aug 27 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
javascript实现放大镜功能
Dec 09 Javascript
删除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循环获取GET和POST值的代码
2008/04/09 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
纯javascript实现图片延时加载方法
2015/08/21 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
echarts整合多个类似option的方法实例
2018/07/10 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
一篇不错的Python入门教程
2007/02/08 Python
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
django中模板的html自动转意方法
2018/05/27 Python
Python获取时间戳代码实例
2019/09/24 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
机电系毕业生求职信
2014/07/11 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
廉洁自律证明
2015/06/24 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js