練習三:寫一個能夠印出 n 個 * 的函式
function star(n){
var a = "*"
for (i = 1; i<=n; i++){
console.log(a)
}
return a = a * "*"
}
star(5)
正確的程式碼應該是:
function star(n){
var a = ""
for (var i = 1; i<=n; i++){
a = a + '*'
}
console.log(a)
}
star(5)
沒想到我居然可以靠自己寫出來!好感動,嗚嗚嗚,但這個程式碼有個問題是,他出星星的時候,沒辦法排成一行,在 VsCode 裡面跑是一行一個星。
發問以後,Huli 說上面的程式碼有幾個問題:
js 字串沒有乘法的用法,但其實乘法就是很多的加法,
a = a * "*"
應該是要寫成a = a + "*"
var a = "*"
,這裡應該寫成var a = ""
,不然跑的時候會多出一個星,變數是一個盒子,我只是把星星放進去寫一個函式,不見得最後一定要接呼叫那個函式,可以用 console.log 印出