2017-03-08 183 views
0

嗨,大家對JS很陌生,我一直在努力研究這個簡單的東西,因爲它太久試圖理解JS基礎知識。請幫助我;將函數傳遞給innerHTML方法

我有一個空的H1元素,我想用JavaScript填充內容。

我希望H1頭包含數組中的名稱並顯示「Hello」消息。

我想是這樣的:

的innerHTML =迎接(名稱[0])爲H1頭。我錯過了一些微不足道的東西,瞭解這是如何工作的任何幫助,將不勝感激。 ('h1')。innerHTML = greet(names [0]);其中,返回爲H1元素中的「未定義」

+0

console.log()打印值。它不返回任何價值; –

+1

你應該使用'return'來代替。 –

+0

什麼是namen?在返回name.toLowerCase()函數時也返回一些值,如 ; – CaptainHere

回答

3

截至目前您還沒有返回任何東西,因此您的方法因此得到undefined, 您需要return值來自該方法。

function greet(name){ 
    return "Hallo " + name.toLowerCase(); 
} 
3

函數應該返回字符串。

function greet(name){ 
    return "Hallo " + name.toLowerCase(); 
} 
3

這裏有幾件事要理清。你不會使用namen變量,所以刪除第二行。

您也可以在爲其分配值時聲明變量名稱。

問候函數需要返回一個值而不是日誌到控制檯。

var names = ["Jan", "Klaas", "Piet"]; 

function greet(name){ 
return "Hallo " + name.toLowerCase(); 
} 

document.querySelector('h1').innerHTML = greet(names[0]); 

看到codepen here

2

您需要返回字符串,像這樣:

names = ["Jan", "Klaas", "Piet"]; 

function greet(name){ 
    return ("Hallo " + name.toLowerCase()); 
} 

document.querySelector('h1').innerHTML = greet(names[0]); 

console.log()記錄在開發工具在瀏覽器控制檯中的字符串(按F12所示) 。您需要將return的值分配給innerHTML,如上所示。

你也不需要做任務name = namen,因爲name只是爲您傳遞到函數greet()價值names[0]的別名。如果你在別處使用它,那麼最好使用與name不同的變量名稱,否則這會導致後面的混亂和潛在的衝突。

0

你不需要"name=namen"

你必須從函數返回一些值。