我正在使用一个jQuery插件,它有返回对象的方法。我的术语在这里有些不稳定,所以我将尝试演示:
$(this).myplugin({
mouseMove: function(data){
//Do something
}
});
在这种情况下,“数据”将是一个返回有关鼠标位置信息的对象。我习惯使用一种语言来分解数据结构,即写:
mouseMove: function({x,y})
这实际上似乎在Firefox中有效(我可以继续使用变量x和y就好了),但在Chrome中打破了我的脚本。
每次我想访问这些内容时,是否必须使用data['x']
和data['y']
,还是有更简单的方法?
答案 0 :(得分:4)
代替data['x']
,您可以撰写data.x
。
但JavaScript 1.7提供了某种模式匹配:
mouseMove: function({x: x, y: y}) {
console.log(x);
}
然后
mouseMove({x: 2, y: 10});
应输出2到日志。
在MDN了解详情。
答案 1 :(得分:1)
你可以使用唯一略微更短data.x
和data.y
例如:
mouseMove: function(data){
var localX = data.x;
//do whatever
}