前言
可能在 42 學 C 的時候,學校規定只能用 while 迴圈,所以已經習慣 While 一行行跑的步驟,自從開始用 for 之後,雖然碼比較簡潔,但自己千萬沒想到對它的誤解這磨深…..。以為是只要條件符合就直接 i++ 了,但其實並不是!!是如果條件符合,會先去跑我們要叫它做的事,然後再 i++ 。視覺上看是條件符合後就 i++ 是個大雷,切記。
==也就是說只要條件符合+ return,就會跳出 loop==
[ 第一題 ]
1 | function test1() { |
而 while 迴圈的寫法,真的就一行行跑,i <= 10 條件符合再去做該做的事,做完該做的事再 i++ ,但當我們回傳時就會終止程式,當然也就不會跑下一行 i++
1 | function test2() { |
==很重要,所以再說一次==
注意一旦 return 程式就會因 return 而終止跳出程式
這題的結果是回傳 123 便終止結束
[ 第二題 ]
1 | function test() { |
==很重要,所以再說一次==
一旦 return 程式就會因此終止跳出程式,if 也是
[ 第三題 ]
1 | function test() { |
這題回傳是 3 ,即使條件是 i <= 10 ,但遇到( i % 3 === 0 ) 3 除 3 無餘數就回傳 i ,程式因此終止。
第 1 圈 i=1 除 3= 有餘數 no return i++ = i=2
第 2 圈 i=2 除 3= 有餘數 no return i++ = i=3
第 3 圈 i=3 除 3= 無餘數 return i = 3 結束
[ 第四題 ]
經過上三題的觀念釐清,這題總算試著用腦袋跟著程式跑而猜出會跑出 6 了
1 | function test() { |
huli 大好用心,這幾題就是要釐清 return 扮演的角色:回傳值後 離開!