-1

我有一个返回以下内容的对象:
{left: "642px", top: "305px", opacity: "1"}

我试图将它们分解为三个独立的变量:var leftvar topvar opacity

解决这个问题的最简单方法是什么?

4

6 回答 6

6

采用:

var data = {left: "642px", top: "305px", opacity: "1"};
var left = data.left,
    top = data.top,
    opacity = data.opacity;

演示:http: //jsfiddle.net/dXxUc/1/

于 2013-04-25T14:41:11.827 回答
3
var left = object.left, top = object.top, opacity = object.opacity;

JavaScript(目前)没有像其他一些语言那样有任何花哨的分解分配。

于 2013-04-25T14:41:11.690 回答
3

这里没有捷径:

var left = obj.left,
top = obj.top,
opacity = obj.opacity;
于 2013-04-25T14:42:07.003 回答
2

如果此对象被命名myObject,您可以使用以下命令检索变量:

var left = myObject.left;
于 2013-04-25T14:41:38.717 回答
0

这取决于您打算如何使用它们。如果您只是要将它们保存到这些变量中一次并且有一个对象,那么

var left = data.left;//or data["left"]
var top = data.top;//or data["top"]
var opacity = data.opacity;//or data["opacity"]
于 2013-04-25T14:42:46.313 回答
0

如果你在全局范围内,有一个捷径可以做到这一点:

for (p in o){
    if(o.hasOwnProperty(p)){
        window[p] = o[p];
    }
}

请注意,这不使用var,而是将属性添加到window对象。对象的属性window可以直接在 JS 中全局访问。

于 2013-04-25T14:46:15.927 回答