时间:2021-05-26
一、 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://www.jb51.net/article/40524.htm
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面介绍如何让层显示在FLASH之上的方法。 具体页面代码:blueideaweb标准常见问题大全web标准常见问题大全web标准常见问题大全we
下面介绍LI中内容超过长度后以省略号显示的方法。 具体页面代码:blueideaweb标准常见问题大全web标准常见问题大全web标准常见问题大全
一,js脚本缓存问题答:这个问题是大家遇到最常见问题之一,因为修改了js内容调试的时候并不能显示新写代码的结果,是因为js为了加速页面执行,当前页面会使用缓存保
列举了一些常见,新手经常问的问题。举例并说明解决方法。1.超链接访问过后hover样式就不出现的问题web标准常见问题大全web标准常见问题大全web标准常见问
大家在PHPmailer群发Gmail时会遇到许多常见问题,下面为大家总结了一些常见问题,希望对大家的学习有所帮助。1.Couldnotauthenticate