setTimeout/setInterval 第三个参数
来源:互联网 发布:c语言switch case用法 编辑:程序博客网 时间:2024/06/05 14:28
转载至
http://www.cnblogs.com/snandy/archive/2011/05/18/2050315.html
setTimeout/setInterval,这两个函数相信前端开发同学都很熟悉。它们在非IE(6-9)浏览器中还可以如下使用
1
2
3
setTimeout(
function
(obj){
alert(obj.a);
}, 2000, {a:1});
即传了第三个参数,第三个参数将作为回调函数的参数obj传入。在非IE浏览器中都弹出了1。这样有个好处,即解决了回调函数的执行上下文,比如要调用某个对象的某个方法,即可以通过参数把该对象传进去。
1
2
3
setTimeout(
function
(obj){
obj.method();
}, 2000, obj);
当然,你还可以传多个参数给回调函数,如下
1
2
3
4
setTimeout(
function
(a, b){
alert(a);
alert(b);
}, 2000, 1,2);
这次我们传了两个参数1,2给回调函数,Firefox/Safari/Chrome/Opera中依次弹出了1,2。只要你愿意还可以传更多。
虽然除了IE不支持第三个参数外,但Firefox和Safari/Chrome/Opera之间还是有区别的
1
2
3
setTimeout(
function
(){
alert(arguments.length);
}, 2000, 1,2);
传了两个参数1,2给回调函数,然后alert出实参的长度
Firefox : 3
Safari/Chrome/Opera : 2
奇怪吧,明明传的是两个参数,但Firefox中弹出的却是3。如果输出第三个参数会发现它是一个数字,有时还是负数。
0 0
- setTimeout/setInterval 第三个参数
- setTimeout、setInterval。其第三个参数和this的讨论,超时嵌套和内存泄漏
- JavaScript: 再论setTimeout、setInterval。其第三个参数和this的讨论,超时嵌套和内存泄漏
- setTimeout setInterval可带参数
- javascript中setInterval和setTimeout第一个参数加与不加引号的区别
- 如何向 setTimeout 、 setInterval 传递参数
- setTimeout和setInterval的参数传递方法
- 给定时器settimeout、setInterval调用传递参数
- JS setTimeout、setInterval传递参数总结
- setInterval、setTimeout不能传递带参数
- setTimeout,setInterval
- setTimeout()&&setInterval()
- setTimeout(); setinterval()
- setInterval & setTimeout
- setinterval seTtimeout
- setTimeout&&setInterval
- setInterval & setTimeout
- setTimeout & setInterval
- ubuntu14.04安装wine以及国际版QQ
- adb找不到设备
- A*算法
- chmod 命令
- 通讯录(有界面的和无界面的)
- setTimeout/setInterval 第三个参数
- JavaScript学习2-JS在html中的应用
- flash player over linux
- QML之TextEdit
- Visual c++ 2012 软件错误
- boost之algorithm/string
- ubuntu chm文档阅读
- ubuntu下mysql安装与测试
- Linux下glui 的安装,以及错误解决