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

看板Ajax作者 (ephesians)時間17年前 (2007/07/28 04:42), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《KiroKu ()》之銘言: : 我寫了個function他是用遞迴的方式在跑的 : 他自己會呼叫自己0~8次不等 : 最後是會自己停 : 但是我發現他最後幾次少掉了 : 而且行為很奇怪 : 照理講在第一層呼叫的時候 會產生8次 : 第1或2次的時候可能會再進到下一層 : 到最後下層執行完 也應該再把第一次那些後面的遞迴一樣跑完才是 : 可是似乎沒有....orz : 我是用for去呼叫 : for(k=0;k<2;k++){ : }可是我除錯時用alert()發現他的k變成3 4之類的 : 這難道式因為javascript的變數都是全域的關係嗎? 剛開始看到這問題,我的感覺是: 1.這問題描述的很模糊,你說它好像不會做,這是什麼意思? 難道你可以說,一個指定命令 var a = 5; 這行程式可能沒做正確的指定嗎? 2.你都沒有講講你的程式大概是怎麼寫的,函式內有哪些東西,函式外又有哪些東西. 就這樣子,你說程式跑得好像很怪. 除了你自己之外,誰知道你的問題是什麼? 這樣變成你只是在抱怨,而不是在發問. 3.行文中有二樣錯誤假設:(1)程式執行次數無故變動;(2)JS變數都是全域變數. 其實你的程式出問題,不是JavaScript程式語言本身有問題, 而是你怎麼寫這程式的問題. 所以提示你,如果人家回答你這問題,回答"似乎沒答案",你高不高興? 因為你沒在發問,只是自行猜測"似乎沒有做",那請問你想得到什麼答案? 要人家點頭說 "對,它本來就似乎不會做" 嗎? 更扯的是你早就假定答案是"變數都是全域變數", 後來你的論斷竟然是 "對,是全域的問題". 真是新發現啊! 全域變數,區域變數,本來有很重要的區別,現在突然沒有全域與區域的差別了...(驚) 你確定要用這樣的斷言誤導他人嗎? 你還是仔細看看你程式與變數的安排,確認之前的問題是在哪邊吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.226.22

07/28 09:02, , 1F
也許我表達的不太好 不過是跟問題是跟全預變數有關
07/28 09:02, 1F

07/28 09:03, , 2F
如果你看不懂就直接說我說得不清楚 你降回答我反而覺得奇怪
07/28 09:03, 2F

07/28 15:43, , 3F
那你就要先自己講問題講明,而不是留一堆話讓人猜
07/28 15:43, 3F

07/28 15:44, , 4F
我知道我講得奇怪,但原因是你問得奇怪
07/28 15:44, 4F

07/28 15:46, , 5F
自己問題不直接講,卻要求回應者直接講,是不是很奇怪?
07/28 15:46, 5F

07/29 12:28, , 6F
說真的問題並沒講清楚,我想ephesians說得並不算過份
07/29 12:28, 6F

07/30 21:04, , 7F
的確,問題的描述完全沒有辦法提供線索,而像呢喃自語
07/30 21:04, 7F

07/30 21:06, , 8F
既然打算要PO文提問,那就應該把事情原委清楚得描述出來
07/30 21:06, 8F
文章代碼(AID): #16gbYW7- (Ajax)
討論串 (同標題文章)
文章代碼(AID): #16gbYW7- (Ajax)