如何从函数访问javascript对象?
假设我有:如何从函数访问javascript对象?,javascript,json,Javascript,Json,假设我有: var test = {}; test.Data1 = { ...JSON objects here... }; test.Data2 = { ...JSON objects here... }; and so on... 我通常通过以下方式访问这些json对象,然后进行一组调用: this.scope.testData = test['Data1']; 然而,用于测试的may数据越来越大,所以我只想将任何数据传递给函数,并进行如下处理: this.scope
var test = {};
test.Data1 = {
...JSON objects here...
};
test.Data2 = {
...JSON objects here...
};
and so on...
我通常通过以下方式访问这些json对象,然后进行一组调用:
this.scope.testData = test['Data1'];
然而,用于测试的may数据越来越大,所以我只想将任何数据传递给函数,并进行如下处理:
this.scope.setupData = function(data)
{
var fData = test[data]; // is this line correct?
...
...
return fData;
};
但它不起作用。我得到:无法将未定义的属性“fData”设置为“[对象]”。。。我是javaScript新手,如有任何帮助,将不胜感激 问题在于
此.scope.setupData
中的作用域。要访问与此范围相关的变量,您需要再次使用此范围:
/**
* 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;
};
这就是错误的确切措辞?确实,您似乎遗漏了一系列重要信息。看起来您正试图使用
数据
作为属性名称。。。但是data
是一个对象。如何调用setupData
?