1

オブジェクトを返すメソッドを持つ jQuery プラグインを使用しています。ここでの用語は少し不安定なので、実演してみます。

$(this).myplugin({
    mouseMove: function(data){
        //Do something
    }
});

この場合の「データ」は、マウスの位置に関する情報を返すオブジェクトになります。私は、データ構造を分解できる言語で作業することに慣れています。つまり、次のように記述します。

mouseMove: function({x,y})

これは実際には Firefox で動作しているように見えます (変数 x と y を問題なく使用できます) が、Chrome ではスクリプトが壊れます。

data['x']これらにアクセスするたびにandを使用するdata['y']必要がありますか、それとももっと簡単な方法がありますか?

4

2 に答える 2

4

の代わりにdata['x']、 と書くことができますdata.x

しかし、JavaScript 1.7 では、次のようなパターン マッチングが提供されています。

mouseMove: function({x: x, y: y}) {
    console.log(x);
}

その後

mouseMove({x: 2, y: 10});

ログに 2 を出力する必要があります。

詳しくはMDNをご覧ください。

于 2013-05-29T20:58:44.670 に答える
1

わずか短くdata.xdata.y

例えば:

mouseMove: function(data){
   var localX = data.x;
   //do whatever
}
于 2013-05-29T20:54:07.640 に答える