【问题标题】:Extract Variable from jQuery object [duplicate]从jQuery对象中提取变量[重复]
【发布时间】:2013-04-19 12:37:05
【问题描述】:

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

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

最简单的方法是什么?

【问题讨论】:

  • 这是一个“jQuery对象”吗?
  • 你以后如何使用变量?

标签: javascript jquery object


【解决方案1】:

用途:

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

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

【讨论】:

  • +1 可读性和维护性很重要!
【解决方案2】:
var left = object.left, top = object.top, opacity = object.opacity;

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

【讨论】:

  • 这可能是最好的方法,但如果你使用多行,它会更好(从可读性的角度来看)。
【解决方案3】:

这里没有捷径:

var left = obj.left,
top = obj.top,
opacity = obj.opacity;

【讨论】:

    【解决方案4】:

    如果这个对象被命名为myObject,你可以用:检索变量:

    var left = myObject.left;
    

    【讨论】:

      【解决方案5】:

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

      var left = data.left;//or data["left"]
      var top = data.top;//or data["top"]
      var opacity = data.opacity;//or data["opacity"]
      

      【讨论】:

        【解决方案6】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2014-03-25
          • 2021-05-02
          • 2015-05-24
          • 1970-01-01
          • 1970-01-01
          • 2013-07-16
          • 1970-01-01
          • 2010-11-27
          • 1970-01-01
          相关资源
          最近更新 更多