这个javascript代码块意味着什么?

时间:2012-09-19 08:58:53

标签: javascript

我在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;
}

5 个答案:

答案 0 :(得分:1)

在这里,您将对象分配给result var。在JS中,您可以通过以下方式定义对象中的字段:

var obj = {fieldA:A, fieldB:B};

答案 1 :(得分:1)

这是一个JS Object Literal。把它想象成一个关联数组。

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

答案 2 :(得分:1)

从语法上讲,它只是一个文字对象赋值。 {...}表达式使用指定的属性和值创建新对象。 从语义上讲,它将函数的返回值打包在一个新的普通对象中并返回该对象。

答案 3 :(得分:1)

它使用6个参数定义一个javascript对象(肯定定义为定义var的函数参数):

的x,y,诊断,XD,YD,间距

我猜xd& yd是英寸大小 x& y是像素大小 诊断:我想对角线 音调:一些音调信息。

此javascript对象存储定义

的结构化信息(作为任何对象)

答案 4 :(得分:1)

此函数计算dpi并返回带有结果的对象。 Object以文字表示法编写。在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);