Javascript:匹配变量名称并应用于匹配变量

时间:2013-01-12 05:52:05

标签: javascript variables object

我希望有一个能够自动匹配对象内部变量名的函数,并在名称匹配时将它们应用于局部变量。

我目前正在使用这种方式,但随着变量的增加,我想实际使用一个新函数来应用它们。

ob = { a: 1, b: 2, }

-----------------------------

Install(ob)

function Install(ob){
  if('a' in ob) a = ob.a;
  if('b' in ob) b = ob.b;
}

var a; var b;

我想要一些可以做的事情

function Install(ob){
  for( // each ob`s this varaiable name){     
    if (//this name much local variable name){
     //local varaible = ob this variable 
     }
  }
}

这可能吗?非常感谢你的建议。

2 个答案:

答案 0 :(得分:1)

如果你只是想从一个对象的所有属性中创建顶级全局变量(我不确定你为什么会这样做),你可以这样做:

var ob = {a: 1, b: 2};
for (var prop in obj) {
    if (obj.hasOwnProperty(prop) {
        window[prop] = obj[prop];
    }
}

否则,请更好地解释您实际想要完成的事情。

答案 1 :(得分:1)

您可以像这样从对象到窗口分配变量。

function Install(ob) {
    for (var i = 0, keys = Object.keys(ob), l = keys.length; i < l; i++) {
        window[keys[i]] = ob[keys[i]];
    }
}

稍后访问简单console.log(varname)。但是你做的很奇怪;)