[問題] javascript 遞迴函式的問題

看板Ajax作者時間17年前 (2007/07/27 01:35), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串1/2 (看更多)
我寫了個function他是用遞迴的方式在跑的 他自己會呼叫自己0~8次不等 最後是會自己停 但是我發現他最後幾次少掉了 而且行為很奇怪 照理講在第一層呼叫的時候 會產生8次 第1或2次的時候可能會再進到下一層 到最後下層執行完 也應該再把第一次那些後面的遞迴一樣跑完才是 可是似乎沒有....orz 我是用for去呼叫 for(k=0;k<2;k++){ }可是我除錯時用alert()發現他的k變成3 4之類的 這難道式因為javascript的變數都是全域的關係嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.9.65

07/27 01:45, , 1F
如果人家回答你這問題 "似乎" 沒答案,你高興嗎?
07/27 01:45, 1F

07/27 01:52, , 2F
@@為甚麼呢?
07/27 01:52, 2F

07/27 02:04, , 3F
你的問題應該是程式寫法造成,而不是語法本身的性質造成,
07/27 02:04, 3F

07/27 02:05, , 4F
不妨把程式貼出來才看得比較明白.
07/27 02:05, 4F

07/27 02:07, , 5F
前面是說,你問題想問什麼;你自己講"似乎",也只好似乎了.
07/27 02:07, 5F

07/27 17:17, , 6F
我解決了 果然是全域的問題
07/27 17:17, 6F

07/27 18:15, , 7F
憑什麼說是全域的問題? 你乾脆來改寫JS的語言規格好了
07/27 18:15, 7F

07/27 20:33, , 8F
照規格,有Global, Function, Eval三種Execution Context
07/27 20:33, 8F
文章代碼(AID): #16gDjcmu (Ajax)
文章代碼(AID): #16gDjcmu (Ajax)