js setTimeout 常见问题小结
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.gimoo.net/article/40524.htm
IE、FF、Chrome浏览器中的JS差异介绍
因为浏览器公司各自为利益考虑,到目前为止各浏览器的HTML标准或是JS标准都还未统一。在平常的开发中,我们常使用的JS框架基本已经帮我们处理好
JavaScript中json使用自己总结
自己总结json的使用:varjson={"100_3322.JPG":{"name":"小张","height":175},"100_3396.JPG":{"name":"小王","height":165},"100_3444.JPG":{"name":"貂蝉","height":185},"100_3543.JPG":{"name":"
js之onload事件的一点使用心得
如果我问你window.load和window.onload分别是什么意思,恐怕你会回答我:这不是页面加载完就执行吗。但是答案是不一定,得看你怎么用。看一下例子吧例1