作者ephesians (ephesians)
看板Ajax
标题Re: [问题] javascript 递回函式的问题
时间Sat Jul 28 04:42:06 2007
※ 引述《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
1F:推 KiroKu:也许我表达的不太好 不过是跟问题是跟全预变数有关 07/28 09:02
2F:→ KiroKu:如果你看不懂就直接说我说得不清楚 你降回答我反而觉得奇怪 07/28 09:03
3F:推 ephesians:那你就要先自己讲问题讲明,而不是留一堆话让人猜 07/28 15:43
4F:→ ephesians:我知道我讲得奇怪,但原因是你问得奇怪 07/28 15:44
5F:→ ephesians:自己问题不直接讲,却要求回应者直接讲,是不是很奇怪? 07/28 15:46
6F:推 fillano:说真的问题并没讲清楚,我想ephesians说得并不算过份 07/29 12:28
7F:推 Jimmy0821:的确,问题的描述完全没有办法提供线索,而像呢喃自语 07/30 21:04
8F:→ Jimmy0821:既然打算要PO文提问,那就应该把事情原委清楚得描述出来 07/30 21:06