2017-09-27 114 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