课程
/前端开发
/JavaScript
/倒计时效果
我是说么。。。用setTimeout好像只能走一步吧?。。。源码里还是用的setInterval
2014-10-18
源自:倒计时效果 3-1
正在回答
setTimeout和setInterval两个方法有点类似,里面都是同样的参数,可以写成setTimeout(function, time)或者setTimeout('function()', time),但第二种传参方法,就是带引号的那个是不推荐用的,因为这相当于隐式地调用了eval()方法,而这个方法现在已经被广泛抵制了,因为它会造成潜在的安全隐患。
调试一下,在这个案例中,此处代码如果是setTimeout('showTime()',500),网页中得到的是showTime函数的运行结果(返回值),即当前的时间,但是不会自己刷新变动,因为它只是个结果,只是个返回值
var x=get; //传递的是函数对象,即函数本身这个主体var x=get(); //传递的是函数返回值
如:var x=get;则 x 和 get函数主体是等同的如:var x=get();那么 x 是 函数 get 的返回值例如:function get(){return 1;}var x=get(); 那么 x 就等于 1 咯而如果是 var x=get;那么var y=x(); 和 var y=get(); 都是等价的。
在第一个案例显示时间里,源码是这样的:setTimeout('showTime()',500),在这节课里,源码是这样的:setTimeout(showTime,500);
真是不太懂,上网查也没查到,等大神解答
事件回调,每次执行完setTimeout后,过500毫秒,再次执行函数,之后又碰到定时器,过500毫秒后执行函数。 如此反复,这也就是为什么setTimeout里面函数没有带括号的原因。
举报
电商网站限时抢购倒计时效果计算思路和方法,前端开发必备技术