http://webings.net/js/dentaku/
このソースコードのjavascriptの部分の流れが良く理解出来ません
1.
if(val >= 0 && val <= 9) { // 電卓に表示する数列を作成
if(flag == 0) {
disp = val;
disp2 = "0";
flag = 1;
}
else {
disp = disp + val;
disp = parseFloat(disp);
}

数字のボタンを押した際の処理内容はここですよね?
どうして129と連続で入力した際は出力に129と出るのですか?
何故毎ループでdispが1→2→9と上書きされていかないのですか?


2. else {
if(disp) の部分

if(disp)は何を判定してるのですか?
switch(flag)で計算内容を判定していますが、このflagは、このあとの処理の
if(val == "=") {}で設定されるのではないのですか?


質問多くて申し訳ないですがよろしくお願いします