当您从函数返回JavaScript语句时会发生什么,例如return console.log(“Hello”)
What happens when you return a JavaScript statement from a function, e.g. return console.log( "Hello" )
我已经搜索过了,但我认为没有人问过这个问题:本质上,之间有什么区别
function $( input ){
return console.log( input );
}
$( "My message" );
以及更传统的
function $( input ){
console.log( input );
}
$( "My message" );
它们都有相同的效果。
如果可以返回,这是否意味着console.log( "Hello" )
是一个对象?
这与返回任何其他值没有什么不同。
您正在返回console.log
的返回值,它不会返回任何内容。
如果您可以返回它,这是否意味着console.log("Hello")是一个对象?
没有。console.log("Hello")
是一个函数调用。函数调用可能显式返回值。
没有显式返回值的函数隐式返回undefined
,就像console.log()
一样。
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);
并在控制台中打印CCD_ 10。
var test = $( "Hello" );
将生成test
,无论$
函数返回什么。
console.log
不返回任何内容,因此var test = console.log('hey');
将使test
的值变为undefined
。
Console.log("Hello");返回undefined
,只需在javascript shell上进行测试:
var s = $("hello");
console.log(s);
这将首先在Console.log代码中打印Hello,然后未定义:s值
您可以返回它,因为未定义是可接受的返回值,因为Console.log
不是语句,而是函数。
相关文章:
- Array.length似乎不起作用;console.log则显示其他情况
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- console.log以外的Javascript输出函数
- Console.debug在ie10中不工作
- jquery if语句返回return wong语句
- 函数在return语句之前返回空对象
- Javascript Return and if/else
- 如果在代码末尾进行求值,jQuery-console.log将提供空数组
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 为什么生成器中的console.log会按这样的顺序出现
- Angular promise return"未定义的“;值.NET MVC
- Javascript用函数return替换局部变量
- JavaScript中的“return cb()”有缺点吗
- JS-fn()中返回后方括号的含义{return{}[]}
- async问题,JS Promise无法返回结果,但可以使用console.log
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 我应该返回一个类似console.log()的方法调用吗
- console.log无法运行Mac OS X
- 当您从函数返回JavaScript语句时会发生什么,例如return console.log(“Hello”)
- console.log()和return等的区别是什么?