Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数返回中的“分离”Javascript对象_Javascript_Jquery - Fatal编程技术网

函数返回中的“分离”Javascript对象

函数返回中的“分离”Javascript对象,javascript,jquery,Javascript,Jquery,我正在使用一个jQuery插件,它有返回对象的方法。我在这里的术语有点不确定,因此我将尝试演示: $(this).myplugin({ mouseMove: function(data){ //Do something } }); 本例中的数据将是一个返回鼠标位置信息的对象。我习惯于使用一种可以拆分数据结构的语言,即编写: mouseMove: function({x,y}) 这在Firefox中似乎是可行的,我可以继续使用变量x和y,但会破坏我在Chrome

我正在使用一个jQuery插件,它有返回对象的方法。我在这里的术语有点不确定,因此我将尝试演示:

$(this).myplugin({
    mouseMove: function(data){
        //Do something
    }
});
本例中的数据将是一个返回鼠标位置信息的对象。我习惯于使用一种可以拆分数据结构的语言,即编写:

mouseMove: function({x,y})
这在Firefox中似乎是可行的,我可以继续使用变量x和y,但会破坏我在Chrome中的脚本


每次我想访问这些数据时都必须使用数据['x']和数据['y'],还是有更简单的方法?

您可以使用稍微短一点的data.x和data.y

例如:


您可以只使用稍微短一点的data.x和data.y

例如:

您可以编写data.x来代替data['x']

但是JavaScript 1.7提供了如下某种模式匹配:

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

mouseMove({x: 2, y: 10});
应该向日志输出2

更多信息请访问。

您可以编写data.x来代替data['x']

但是JavaScript 1.7提供了如下某种模式匹配:

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

mouseMove({x: 2, y: 10});
应该向日志输出2


更多信息请访问。

如果数据['x']和数据['y']在其他浏览器中工作,那么您可以始终将它们存储在var x,y中以缩短语法。我发现您的脚本不太可能需要写入鼠标位置,但如果这样做,则这些变量可能需要一些更改才能通过引用传递。您可以尝试console.log,了解脚本的确切结构data@DavidStarkey:也许你能帮我弄清楚些什么?在这种情况下,我的脚本永远不会写入鼠标位置,但是当我在mouseMove之后像这样放置一个函数时,我可以使用数据访问事件返回的数据。我只是在盲目地使用javascript,知道它在这里做什么,但我怎么称呼它呢?如果数据['x']和数据['y']在其他浏览器中工作,那么您可以始终将它们存储在var x,y中以缩短语法。我发现您的脚本不太可能需要写入鼠标位置,但如果这样做,则这些变量可能需要一些更改才能通过引用传递。您可以尝试console.log,了解脚本的确切结构data@DavidStarkey:也许你能帮我弄清楚些什么?在这种情况下,我的脚本永远不会写入鼠标位置,但是当我在mouseMove之后像这样放置一个函数时,我可以使用数据访问事件返回的数据。我只是在盲目地使用javascript,知道它在这里做什么,但我该怎么称呼它呢?看起来它准确地总结了我的问题!Chrome不支持1.7,这可以解释为什么这个方法和我天真地使用的方法在Chrome上不起作用。是的。可怕的是,最广泛采用的版本已经有十多年的历史了。它似乎准确地总结了我当时的问题!Chrome不支持1.7,这可以解释为什么这个方法和我天真地使用的方法在Chrome上不起作用。是的。令人恐惧的是,最广泛采用的版本已经有十多年的历史了。