欢迎光临

木子屋

标题: 详解window.setInterval方法

作者: dnawo

日期: 2009-06-30 00:54 AM

分类: 脚本语言

内容: 我们经常会看到下边两种代码：
代码一：
复制内容到剪贴板 程序代码<script>
function T(){window.status=new Date();}
setInterval(T,1000);
</script>
代码二：
复制内容到剪贴板 程序代码<script>
function T(){window.status=new Date();}
setInterval("T()",1000);
</script>
执行结果是一样的，他们有什么不同呢？下边是《JavaScript 权威指南》第五版P935中对于setInterval第一个参数的说明：
引用内容周期性地调用的一个函数或者周期性执行的JavaScript代码串。如果这个字符串含有多个语句，那么每个语句之间都用分号分隔开。在IE 4中，这个参数必须是一个字符串，但在此后的版本中就不是这样了。
这就不难解释了：代码一是周期性地调用一个函数，代码二中则是周期性的执行JavaScript代码串(类似于eval那样执行代码串)；
上边例子稍做修改：
复制内容到剪贴板 程序代码<script>
window.setInterval(window.status=new Date(),1000);
</script>
结果是状态栏中的时间更新一次后就不再更新了，此处执行过程是先执行语句"window.status=new Date()"，再将其返回值(new Date()的值)当作JavaScript代码串给setInterval执行。如仍要动态的在状态栏显示当前时间，可修改如下：
复制内容到剪贴板 程序代码<script>
window.setInterval("window.status=new Date();",1000);
</script>

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.255 ms

返回

标题: 详解window.setInterval方法

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.255 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.287 ms

返回