js setTimeout 常见问题小结_基础知识

一、 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传参方法链接http://www.jb51.net/article/40524.htm

时间: 2024-12-09 02:21:35

js setTimeout 常见问题小结_基础知识的相关文章

js格式化时间小结_基础知识

废话不多说,先把各种格式化方法贴给大家 复制代码 代码如下: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate

json的使用小结_基础知识

JSON的用途 使用基于JavaScript的应用程序,其中包括浏览器扩展和网站 使用JSON格式序列化和结构化的数据传输网络连接 这主要用于服务器和Web应用程序之间的数据传输 Web服务和API采用JSON格式提供公共数据 它可以用来与现代编程语言 JSON的特点 易于读写JSON 轻量级的基于文本的交换格式 独立语言 JSON格式示例: •名称/值对数据表示 •大括号持有的对象和每个名称后跟":"(冒号),名称/值对的分离,(逗号) •方括号持有数组和值,(逗号)分隔. { &q

写给想学习Javascript的朋友一点学习经验小结_基础知识

当然只是个人的经验,有什么不对的也请高手见谅和指正. 关于到培训学校学习的忠告:别说现在没有这样的学校,就是有专门的学校也不要去,因为不会有好的老师的.不要浪费你自己(很可能是你父母)的钱和时间.趁早死了这个念头. 关于培训学校的这个我想我要比一般的朋友更有发言权,因为我本人干英语培训将近2年,我很清楚培训市场的情况,你很难碰到一个好的老师.英语可能还好些,毕竟英语说得好的老师还比较多,长期跟老外泡在一起,确实对口语能力的提高很显著,但是代价是很昂贵的.而你现在要学的是Javascript,呵呵

js选择器全面解析_基础知识

原生JS选择器有getElementById.getElementsByName.getElementsByTagName和getElementsByClassName这四个,下面我就一个一个介绍这四个选择器的用法. 1.getElementById(通过ID获取元素) 用法:document.getElementById("Id");Id为要获取的元素的id属性值. 2.getElementsByName(通过name属性获取元素) 用法:document.getElementsBy

js querySelector() 使用方法_基础知识

querySelector 定义和用法 querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素. 注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素.如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代. 浏览器支持 表格中的数字表示支持该方法的第一个浏览器的版本号. 语法document.querySelector(CSS selectors) 参数值 参数 类型 描述 CSS 选择器 String 必须.指定一

js的一些常用方法小结_基础知识

Val(),append(),get(),split(),substr(),each(),html(),keyup(),trim(),show(),hide(),indexOf() 一个一个来看: Val():来对一个页面元素进行取值和赋值 取值:var result = $("#txtSearch").val(); 赋值:$("#txtSearch").val(result); Each():对一个集合的操作,对集合里面的每一个元素进行后面的方法调用,例如: $.

js null,undefined,字符串小结_基础知识

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>null,undef

js中的setInterval和setTimeout使用实例_基础知识

setInterval() 定义和用法 setInterval() 方法可按照指定的周期(以毫秒计)来执行函数或表达式.该方法会不停地循环调用函数,直到使用 clearInterval() 明确停止该函数或窗口被关闭.clearInterval() 函数的参数即 setInterval() 返回的 ID 值. 语法 setInterval(code,millisec[,"lang"])code 必需.要调用的函数或要执行的代码串.millisec 必须.周期性执行或调用 code 之间

JS的Document属性和方法小结_基础知识

document.title //设置文档标题等价于HTML的title标签 document.bgColor //设置页面背景色 document.fgColor //设置前景色(文本颜色) document.linkColor //未点击过的链接颜色 document.alinkColor //激活链接(焦点在此链接上)的颜色 document.vlinkColor //已点击过的链接颜色 document.URL //设置URL属性从而在同一窗口打开另一网页 document.fileCr