Javascript一直在取消我的vars,这让我很烦恼.救命?

Kee*_*ick 4 javascript

这是我第一次使用javascript,然后......嗯......呃.这是发生了什么:

function step_1(id) {
    //blah blah
    step_2(id);
}
function step_2(id) {
    //blah blah
    step_3(id);
}
function step_3(id) {
    //blah blah
    alert(id);
}

step_1(0); // I can stick any number here, same thing happens...
Run Code Online (Sandbox Code Playgroud)

警报弹出并显示"未定义".但是,如果我发出警报(id); 在步骤2中,两个警报都说"0".

为什么/如何id未定义?我究竟做错了什么?

我甚至尝试在每个函数中重新分配id,例如:

var nid = id;
step_2(nid);
Run Code Online (Sandbox Code Playgroud)

等等......但如果没有警报,这仍然无效.

编辑:因为我的例子显然工作正常,也许它会有助于查看我的代码中发生的等等.它工作正常,除非我取出警报(id); 在第11行.

Rob*_*sto 5

step_2和step2之间存在差异.还有你所有的其他小步骤......