【发布时间】:2014-03-11 20:06:12
【问题描述】:
第一种方式:
var a = 0;
setTimeout(DoSomething(a), 1000);
function DoSomething(a) {
a = $(window).width();
}
第二种方式:
setTimeout(DoSomething, 1000);
function DoSomething() {
var a = $(window).width();
}
什么方法比较好?
【问题讨论】:
-
这不是好坏的问题,它们在做不同的事情。范围不同。
-
第一个根本不起作用。发生超时时,您没有调用该函数,而是立即调用它。
-
忽略其他问题,通常“更好”地声明具有最小范围的变量来解决任务。
-
我相信您想要以下第一个:
setTimeout(function () { DoSomething(a); }, 1000);
标签: javascript jquery