从函数返回JavaScript语句时会发生什么,例如return console.log(" Hello")

时间:2014-09-03 17:25:34

标签: javascript

我已经搜索过,但我认为没有人问过这个问题:基本上,有什么区别

function $( input ){
    return console.log( input );
}

$( "My message" );

和更传统的

function $( input ){
   console.log( input );
}

$( "My message" );

?它们都有相同的效果。

如果你可以退货,这是否意味着console.log( "Hello" )是一个对象?

4 个答案:

答案 0 :(得分:4)

与返回任何其他值没有什么不同。

您将返回console.log的返回值,该值不会返回任何内容。

  

如果可以返回,这是否意味着console.log(“Hello”)是一个对象?

没有。 console.log("Hello")是函数调用。函数调用可以显式返回一个值。

没有显式返回值的函数会隐式返回undefined,就像console.log()一样。

答案 1 :(得分:0)

CONSOLE.LOG("你好&#34);返回undefined,只需在javascript shell上进行测试:

var s = $("hello");
console.log(s);

这将首先在Console.log代码中打印Hello,然后是undefined:s值

您可以退回,因为undefined是可接受的返回值,因为Console.log不是语句,而是函数

答案 2 :(得分:0)

无论var test = $( "Hello" );函数返回什么,

test都会生成$

console.log不返回任何内容,因此var test = console.log('hey');会使test的值变为undefined

答案 3 :(得分:0)

function $( input ) {
    return console.log( input );
}

代表:

function $( input ) {
    var ret = console.log( input );
    return ret;
}

此外,console.log( input )的返回值为undefined,您将undefined返回给调用对象。没有任何反应,因为您丢弃了$( "My message" );的返回值。你可以使用返回值,例如:

var ret = $( "My message" );
console.log(ret);

,它将在控制台中打印undefined