2

所以我有这个:

(function () {
   // work
}).defer(1000);

对于我公认的对 javascript 的薄弱理解,这会在一秒钟的等待时间后执行一个匿名类。

所以我想把它改成这样:

var newClass = function() {
   // work
};
newClass().defer(1000);

但这并没有因为某种原因给我延迟。我觉得这两个代码示例完全一样,我这个假设错了吗?

编辑:

我正在使用这种延迟方法,对不起,我认为这是一个 javascript 的东西。

4

2 回答 2

3
newClass().defer

这会调用函数,然后调用defer()函数返回的任何内容。

于 2013-06-12T15:49:00.930 回答
2

您没有定义 defer 方法,所以这是一个(几乎)像您期望的那样工作的方法:

Function.prototype.defer=function(delay){ return setTimeout(this, delay || 100); };
var newClass = function() {
   alert ("working");
   // work
};
newClass.defer(1000);
于 2013-06-12T15:50:44.860 回答