【JavaScript】关于setTimeout()的一点学习
2014-12-19 19:12
465 查看
setTimeout()的用法就不赘述了。
setTimeout(code,millisec);
最近遇到的困惑是,code加引号和不加引号的区别。
结论:
第一个参数可以是字符串,
也可以是函数
如果是字符串,则当作 javascript 语句执行,,执行的环境是全局,不捕捉局部变量。
另外,函数加括弧和不加括弧的区别是一个是数据(函数可以作为数据传递),一个是函数调用(运行函数)
--部分引用hzrui的说法
setTimeout(code,millisec);
最近遇到的困惑是,code加引号和不加引号的区别。
结论:
第一个参数可以是字符串,
也可以是函数
如果是字符串,则当作 javascript 语句执行,,执行的环境是全局,不捕捉局部变量。
<span style="font-size:18px;">var f1 = function() { alert(aaaa); }; window.onload = function() { var f1 = function() { alert(bbbb); }; //setTimeout("f1()",3000);//aaaa 全局变量 setTimeout("f1",3000);//无动作,居然不会报错,但这种写法明显是错误的 //setTimeout(f1,3000);//bbbb 若注释掉局部的f1,则执行全局f1</span>
<span style="font-size:18px;"> //等同于</span><span style="font-size: 18px; font-family: arial, 宋体, sans-serif, 'Microsoft YaHei', tahoma;">setTimeout(</span><span style="font-family: arial, 宋体, sans-serif, 'Microsoft YaHei', tahoma; font-size: 18px;">function() {alert(bbbb);}</span><span style="font-size: 18px; font-family: arial, 宋体, sans-serif, 'Microsoft YaHei', tahoma;">,3000)<span style="white-space:pre"> </span>这样一看就好理解了</span><span style="font-size:18px;"> //setTimeout(f1(),3000);//bbbb但计时失效,直接执行局部的f1 };</span>
另外,函数加括弧和不加括弧的区别是一个是数据(函数可以作为数据传递),一个是函数调用(运行函数)
--部分引用hzrui的说法
相关文章推荐
- 关于权限的一点学习
- 关于语言学习的一点感想
- 从二进制补码到十进制补码及其内的运算——关于补码的一点学习
- 整理一点关于Lucene的学习资料, 方便自己与别人查看
- 关于学习嵌入式的一点问题
- 关于技术人员学习一点人际关系的讨论
- 关于WEB交互式设计,JavaScript以及AJAX的一点心得
- 网上一篇关于JavaScript基本概念初级讲解论坛贴的学习记录
- 学习JavaScript时写的一点脚本
- 关于学习和应用Javascript及Ext Js的几点建议
- 关于学习 Flex 的一点建议(转载)
- 关于学习CCNA的一点经验总结
- 计算机学习笔记2:关于微程序的一点己见
- 关于对linux学习的一点体会
- 关于学习 Flex 的一点建议(转载)
- 关于51单片学习的一点心得
- 关于javascript中的事件学习及总结
- 关于DNN Module开发学习以来的一点总结
- 关于学习的一点感悟
- 关于oracle 的一点学习