javascript - setTimeout()和setInterval()的问题
本文介绍了javascript - setTimeout()和setInterval()的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
图中箭头指的地方要不要写成timeShow(),或者"timeShow()"
好像都可以运行,那么加括号或双引号有什么区别吗?
解决方案
此处调取的是函数的指针,只支持3种形态
-
函数的名称
var a = function(){ }; // 或者 function a() {} setInterval(a, 1000);
-
匿名函数
setInterval(function(){ }, 1000);
-
函数名的字符串
var a = function(){ }; // 或者 function a() { } setInterval("a", 1000);
你要记住foo()
表示执行该函数,如果setInterval(foo(), 1000);
最终timer执行的是这个foo
的return
以上三种是官方建议的做法,如果你非要写成setInterval("a()",1000)
这种js的设计缺陷的代码,会给看你代码的人代码不少麻烦。
js的一些设计缺陷:http://www.ruanyifeng.com/blo...
比如:1+"10"
js的函数
的类型很坑,是继承的Object
这篇关于javascript - setTimeout()和setInterval()的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文