本帖最后由 philip1986 于 2014-08-26 09:28:55 编辑

解决方案 »

  1.   

    (function(){})() 
    相当于先定义 function xx(){},后调用 xx();
    第一种
    相当于先执行下面的匿名函数,然后将返回值function(timeout){..}函数赋给ConfuseBuff
    function() {
        return function(timeout) {
            return new Buff({
                type: 'confuse',
                useCallback: function(player){
                    player.confused = true;
                },
                unuseCallback: function(player){
                    player.confused = false;
                }
            });
      };
    }第二种:直接将函数赋值给ConfuseBuff这两种定义方式不同,但最终结果是一致的