0

私が持っているとしましょう:

var test = {};
test.Data1 = {
    ...JSON objects here...
}; 
test.Data2 = {
    ...JSON objects here...
};
and so on... 

私は通常、これらの json オブジェクトにアクセスし、その後に一連の呼び出しを行います。

this.scope.testData = test['Data1'];

ただし、テスト用のデータが大きくなっている可能性があるため、必要なデータを関数に渡し、次のように処理したかっただけです。

this.scope.setupData = function(data)
{
    var fData = test[data]; // is this line correct? 
    ...
    ...
    return fData;

};

しかし、それは機能していません。私は取得しています:未定義のプロパティ「fData」を「[オブジェクトオブジェクト]」に設定できません...私はjavaScriptが初めてなので、助けていただければ幸いです。

4

1 に答える 1

1

問題は 内のスコープthis.scope.setupDataです。関連する変数にアクセスするには、再度this.scope使用する必要があります。this

/**
 * At current scope, "this" refers to some object
 * Let's say the object is named "parent"
 *
 * "this" contains a property: "scope"
 */
this.scope.setupData = function(data)
{
    /**
     * At current scope, "this" refers to "parent.scope"
     *
     * "this" contains "setupData" and "testData"
     */
    var fData = this.testData[data]; // is this line correct? 
    ...
    ...
    return fData;
};
于 2013-07-01T04:45:53.380 に答える