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

在这里,您将 Object 分配给resultvar。在 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 个参数定义了一个 javascript 对象(这些参数肯定被定义为定义 var 的函数参数):

x,y,诊断,xd,yd,间距

我想 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 回答