2017-09-27 110 views
1

看看下面的代码并解释为什么它返回undefined而不是变量。Javascript为什么这个函数返回undefined

function aaa() { 
 
    return 
 
    { 
 
    test: 1 
 
    }; 
 
} 
 
console.log(aaa());

+3

返回的是一个说法。如果没有后它遵循在同一行,它返回undefined – Rajesh

+1

这将帮助:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return#Automatic_Semicolon_Insertion – Rajesh

+0

@JJJ我滚回到编辑,但问题同时被标记为重复。这导致了这个问题。再次回滚编辑。 – Rajesh

回答

4

因为你犯了一个换行符:

function aaa() { 
 
    return { 
 
    test: 1 
 
    }; 
 
} 
 
console.log(aaa());

+2

只是一个指针,对于这样的问题,请寻找一个类似的帖子,并将其标记为重复。回答重复是一个不好的做法。 – Rajesh

4

这是因为在return(自动分号插入)年底新线。

尝试:

function aaa() { 
    return { 
    test: 1 
    }; 
} 
console.log(aaa()); 
+1

只是一个指针,对于这样的问题,请查找类似的帖子,并将其标记为重复。回答重复是一个不好的做法。 – Rajesh

+0

@Rajesh我找不到原来的quesiton哥们要不我也不会要求 – Kannan

+0

@kannan以上评论是不适合你。它是用于CD ..点是,这个问题的解释很容易,所以人们选择回答,而不是寻找重复。这是错误的。如果您知道该解决方案,则更有可能可以更好地将搜索查询词组化以找到适当的副本。 – Rajesh