作者KiroKu ()
看板Ajax
標題[問題] javascript 遞迴函式的問題
時間Fri Jul 27 01:35:31 2007
我寫了個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
1F:推 ephesians:如果人家回答你這問題 "似乎" 沒答案,你高興嗎? 07/27 01:45
2F:推 KiroKu:@@為甚麼呢? 07/27 01:52
3F:→ ephesians:你的問題應該是程式寫法造成,而不是語法本身的性質造成, 07/27 02:04
4F:→ ephesians:不妨把程式貼出來才看得比較明白. 07/27 02:05
5F:→ ephesians:前面是說,你問題想問什麼;你自己講"似乎",也只好似乎了. 07/27 02:07
6F:推 KiroKu:我解決了 果然是全域的問題 07/27 17:17
7F:推 ephesians:憑什麼說是全域的問題? 你乾脆來改寫JS的語言規格好了 07/27 18:15
8F:推 fillano:照規格,有Global, Function, Eval三種Execution Context 07/27 20:33