如何在javascript中返回两个对象值

时间:2014-12-30 12:07:10

标签: javascript jquery

我知道java脚本是动态的,我想知道是否有选项 返回类似于

的内容
 Inte.prototype.getM = function(sMethod) {
     return  this._mMet[sMet].ret && 
     return this._mMeth[sMet].ret.default;
  };

目前,当我按原样尝试时,我得到了错误(这并不奇怪:))。

6 个答案:

答案 0 :(得分:2)

您可以使用数组返回:

 return  [this._mMet[sMet].ret,this._mMeth[sMet].ret.default];

或通过对象:

return  {'one': this._mMet[sMet].ret, 'two': this._mMeth[sMet].ret.default};

修改

根据OP评论,他希望对这些值进行一些验证:

if (typeof this._mMet[sMet].ret == 'undefined' || typeof this._mMeth[sMet].ret.default == 'undefined') { 
    return false; 
} else { 
    return  {'one': this._mMet[sMet].ret, 'two': this._mMeth[sMet].ret.default};
}

答案 1 :(得分:1)

您可能需要使用对象数组吗? 例如:

var array = [];
array.push(this._mMet[sMet].ret);
array.push(this._mMet[sMet].ret.default);
return array;

答案 2 :(得分:0)

你只能回报一件事。但它可以是数组:

Inte.prototype.getM = function(sMethod) {
     return  [this._mMet[sMet].ret, this._mMeth[sMet].ret.default];
  };

答案 3 :(得分:0)

您可以返回一个对象

Inte.prototype.getM = function(sMethod) {
     return {
         ret: this._mMet[sMet].ret,
         retDefault: this._mMeth[sMet].ret.default
    };
};

然后您可以使用

访问它
var returnObject = inte.getM(arguements);
var ret = returnObject.ret //equvalent to returnObject['ret'];
var retDefault= returnObject.retDefault //equivalent to returnObject['retDefault'];

答案 4 :(得分:0)

最好的办法是

function a(){
     var first=firstObject;
     var second=secondObject;
     return {first:first,second:second};
}

然后使用

a().first // first value
a().second // second value

答案 5 :(得分:0)

尝试以数组形式返回:

Inte.prototype.getM = function(sMethod) {
     return new Array(this._mMet[sMet].ret,this._mMeth[sMet].ret.default);
};