我希望有一个能够自动匹配对象内部变量名的函数,并在名称匹配时将它们应用于局部变量。
我目前正在使用这种方式,但随着变量的增加,我想实际使用一个新函数来应用它们。
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
}
}
}
这可能吗?非常感谢你的建议。
答案 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)
。但是你做的很奇怪;)