0

JavaScript のコード ブロックに出会いました。その意味を教えてください。

var result = {
    diagmetric : diag * 2.54,
    sizex : xd,
    sizey : yd,
    metricsizex : 2.54*xd,
    metricsizey : 2.54*yd,
    xppi : x/xd,
    yppi : y/yd,
    dotpitch : pitch,
    sqppi : x/xd*y/yd
};

フル機能:

function calc_dpi (x,y,diag) {
    if (y == 0 || x == 0) return;
    var ratio = y/x;
    var xd = Math.sqrt( Math.pow(diag,2) / ( 1 + Math.pow(ratio, 2) ));
    var yd = xd * ratio;
    var pitch = 25.4/(x/xd); // metric
    var result = {
        diagmetric : diag * 2.54,
        sizex : xd,
        sizey : yd,
        metricsizex : 2.54*xd,
        metricsizey : 2.54*yd,
        xppi : x/xd,
        yppi : y/yd,
        dotpitch : pitch,
        sqppi : x/xd*y/yd
    };
    return result;
}
4

5 に答える 5

1

ここでは、オブジェクトを変数に割り当てますresult。JSでは、次のようにオブジェクトのフィールドを定義できます。

var obj = {fieldA:A, fieldB:B};
于 2012-09-19T09:01:56.467 に答える
1

これはJSオブジェクトリテラルです。連想配列と考えてください。

https://stackoverflow.com/a/3831209/1410212

于 2012-09-19T09:02:05.293 に答える
1

構文的には、これは単なるリテラルオブジェクトの割り当てです。{...}指定されたプロパティと値を持つ式によって、新しいオブジェクトが作成されます。意味的には、関数の戻り値を新しいプレーンオブジェクトにパックし、オブジェクトを返します。

于 2012-09-19T09:03:13.133 に答える
1

6つのパラメーター(varが定義されている関数パラメーターとして確実に定義されている)を使用してjavascriptオブジェクトを定義します。

x、y、diag、xd、yd、pitch

xdとydはインチサイズだと思いますxとyはピクセルサイズですdiag:対角ピッチ:ピッチ情報です。

このjavascriptオブジェクトは、定義する構造化情報を(任意のオブジェクトとして)格納します

于 2012-09-19T09:03:17.630 に答える
1

この関数は dpi を計算し、結果を含むオブジェクトを返します。オブジェクトはリテラル表記で記述されます。関数から単一の値を返すだけでなく、完全なオブジェクトまたは別の関数を返すことは、javascript の一般的な方法です。

次の方法で使用できます。

var result = calc_dpi(/* your parameters*/)
// now you have access to the result by calling the properties
// of the result object e.g. with:
alert(result.dotpitch);
于 2012-09-19T09:03:37.690 に答える