一尘不染

Javascript使用变量作为对象名称

javascript

我想使用变量的值来访问对象。

假设我有一个名为myobject的对象。

我想用此名称填充变量,然后使用该变量访问对象。

例:

var objname = 'myobject';
{objname}.value = 'value';

阅读 1015

收藏
2020-05-01

共1个答案

一尘不染

全球:

myObject = { value: 0 };
anObjectName = "myObject";
this[anObjectName].value++;

console.log(this[anObjectName]);

全球:v2

var anObjectName = "myObject";
this[anObjectName] = "myvalue"

console.log(myObject)

本地:v1

(function() {
    var scope = this;

    if (scope != arguments.callee) {
        arguments.callee.call(arguments.callee);
        return false;
    }

    scope.myObject = { value: 0 };
    scope.anObjectName = "myObject";
    scope[scope.anObjectName].value++;

    console.log(scope.myObject.value);
})();

本地:v2

(function() {  
    var scope = this;

    scope.myObject = { value: 0 };
    scope.anObjectName = "myObject";
    scope[scope.anObjectName].value++;

    console.log(scope.myObject.value);    
}).call({});
2020-05-01