2017-02-21 17 views
-2

以下是我的(不工作)代碼。我試圖編寫一個函數,允許我以任何名稱輸入console.log,然後將該名稱附加到消息中。請看下面的說明:如何在功能中歡迎不同的名稱?

function checkAge(name, age) { 
    name = {}; 
    if (age >= 21) { 
    return ("Welcome," + {} + "!"); 
    } 
    else return ("Go home," + {} + "!"); 
} 
console.log(checkAge('Adrian', 22)); //Welcome,[object Object]! 

預期結果應該是'Welcome,Adrian!' (而不是Welcome,[object,Object]!)。但我不想硬編碼的名稱,所以我不能只寫 name ==='Adrian',因爲它需要爲任何名稱工作。有什麼建議?謝謝! :)

+0

'名= {};' - 這則會覆蓋輸入參數'name'一個空的對象 - 這就是爲什麼你'[對象的對象]'在控制檯 –

+0

你傳遞一個名字作爲一個參數,然後立即覆蓋它。 –

+1

目前還不清楚你認爲'{}'的含義。 – Pointy

回答

6

刪除name = {};您正在重新分配參數名稱,而不是將參數傳遞給字符串的返回值。

function checkAge(name, age) { 
    if (age >= 21) { 
    return ("Welcome," + name + "!"); 
    } 
    else return ("Go home," + name + "!"); 
} 

console.log(checkAge('Adrian', 22)); 

output >> Welcome,Adrian! 
+0

謝謝! @luminous_Dev!我沒有意識到我所要做的就是寫下這個名字!感謝大家! – learninghowtocode

相關問題