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 相关文章推荐
许愿墙中用到的函数
Oct 07 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
Jan 08 Javascript
js实现图片在未加载完成前显示加载中字样
Sep 03 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
AngularJS入门教程之ng-class 指令用法
Aug 01 Javascript
jQuery EasyUI常用数据验证汇总
Sep 18 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
Sep 17 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
vue实现购物车的小练习
Dec 21 Vue.js
删除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
基于文本的访客签到簿
2006/10/09 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
python实现忽略大小写对字符串列表排序的方法
2014/09/25 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
python实现textrank关键词提取
2018/06/22 Python
python实现简单登陆系统
2018/10/18 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
生日主持词
2014/03/20 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书