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 相关文章推荐
JavaScript 学习笔记一些小技巧
Mar 28 Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
Mar 21 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
Dec 23 Javascript
Bootstrap select实现下拉框多选效果
Dec 23 Javascript
原生js实现放大镜特效
Mar 08 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
Dec 07 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 Javascript
js实现简易点击切换显示或隐藏
Nov 29 Javascript
jQuery实现动态向上滚动
Dec 21 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
我的论坛源代码(十)
2006/10/09 PHP
php session处理的定制
2009/03/16 PHP
PHP 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
js实时获取系统当前时间实例代码
2013/06/28 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
python range实例用法分享
2020/02/06 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
2018/04/23 HTML / CSS
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
教堂婚礼主持词
2014/03/14 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
葬礼司仪主持词
2014/03/31 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
承诺函格式模板
2015/01/21 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
详解Node.js如何处理ES6模块
2021/05/15 Javascript
AngularJS实现多级下拉框
2022/03/25 Javascript
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript