0

次の JavaScript コード ブロックがありますが、よくわかりません。

var level = this.getLevelForResolution(this.map.getResolution());
var coef = 360 / Math.pow(2, level);

var x_num = this.topTileFromX < this.topTileToX ? Math.round((bounds.left - this.topTileFromX) / coef) : Math.round((this.topTileFromX - bounds.right) / coef);
var y_num = this.topTileFromY < this.topTileToY ? Math.round((bounds.bottom - this.topTileFromY) / coef) : Math.round((this.topTileFromY - bounds.top) / coef);

<inとはどういうthis.topTileFromX <意味ですか?

4

3 に答える 3

1

これは JavaScript の三項演算子です。詳細はこちら

var x_num = this.topTileFromX < this.topTileToX ? Math.round((bounds.left - this.topTileFromX) / coef) : Math.round((this.topTileFromX - bounds.right) / coef);

次の式と同等です

var x_num;

if (this.topTileFromX < this.topTileToX )
{
    x_num= Math.round((bounds.left - this.topTileFromX) / coef);
}
else
{
    x_num= Math.round((this.topTileFromX - bounds.right) / coef);
}
于 2013-03-08T06:14:46.300 に答える
0

<数学のように、「より小さい」を意味します。

したがって

  • 2 < 3戻り値true
  • 2 < 2false
  • 3 < 2また〜だfalse
于 2013-03-08T06:15:09.020 に答える
0
var x_num = this.topTileFromX < this.topTileToX ? Math.round((bounds.left - this.topTileFromX) / coef) : Math.round((this.topTileFromX - bounds.right) / coef);

これは短い if ステートメントです。その意味は:

var x_num;

if(this.topTileFromX < this.topTileToX)
{
   x_num = Math.round((bounds.left - this.topTileFromX) / coef);
}
else
{
   x_num = Math.round((this.topTileFromX - bounds.right) / coef);
}
于 2013-03-08T06:17:03.967 に答える