2

いくつかの統計を計算するための多くの関数があり、毎回値を再確認する必要がありますが、それは余分なコードであり、読みにくくなります。変数の割り当てを別の関数に保存できますか:

function MC () {
var check=document.getElementById('check').checked;

var ea=Number(document.form.ea.value),
    ed=Number(document.form.ed.value),
    pa=Number(document.form.pa.value),
    pd=Number(document.form.pd.value);

var hpSum = 0,spSum=0,eaSum=0,edSum=0,pdSum=0,paSum=0;

if(check){
    eaSum = ea + 11;
    edSum = ed + 17;
    pdSum = pd + 17;
    paSum = pa + 11;
} else {
    eaSum = ea - 11;
    edSum = ed - 17;
    pdSum = pd - 17;
    paSum = pa - 11;
}

    document.form.ea.value=eaSum;
    document.form.ed.value=edSum;
    document.form.pa.value=paSum;
    document.form.pd.value=pdSum;
};

注:私は、ea、ed、pa、pd および sum 変数について話している。

4

2 に答える 2

0

少し凝縮した独自のコードを使用します。form がフォームの名前であると仮定すると、どの入力が変更されたかを追跡するには、それらを読み取るよりも多くのコードが必要になります。

function MC () {
    var f= document.form,
    v= document.getElementById('check').checked? [11, 17]:[-11, -17];
    f.ea.value= Number(f.ea.value)+v[0];
    f.ed.value= Number(f.ed.value)+v[1];
    f.pa.value= Number(f.pa.value)+v[0];
    f.pd.value= Number(f.pd.value)+v[1];
}
于 2013-04-13T18:34:52.787 に答える