我应该返回一个方法调用,如console.log()吗?

时间:2015-04-01 11:22:33

标签: javascript return

大家好日子。我没有找到任何关于此的研究或文章。也许我使用的是错误的搜索字词。但我的问题是,例如,我正在为自己编写一个JavaScript实用程序库,我希望包含2个小函数out(arg)outln(arg)。我的问题是,我应该致电console.log()return console.log()。 我已经看到它完成了两种方式,但从未看到过返回方法调用的理由。我想知道哪种方式更好或者它有什么作用呢?

EX。

// This way:

var lib = {
    out: function(args){
        console.log(args);
    },
    outln: function(args){
        console.log(args + "\n");
    }
};

// Or this way?

var lib = {
    out: function(args){
        return console.log(args);
    },
    outln: function(args){
        return console.log(args + "\n");
    }
};

1 个答案:

答案 0 :(得分:1)

你对console.log的返回值有用吗(总是undefined iirc)?您可能计划覆盖log或创建自己的console对象(不推荐)。

更重要的是,检查是否存在控制台对象和日志方法,因为一些用户代理已知不提供它们:

var lib = {
    out: function(args) {
             if (console && console.log) {
                 console.log(args);
             }
         },
    outln: function(args) {
               if (console && console.log) {
                   console.log(args+"\n");
               }
         }
}

提升健壮性,在lib初始化期间以这种方式测试而不是一次设置全局(如果你有一个用例,你甚至可以考虑将测试添加到lib中,例如用户/代码篡改控制台对象)