2012-07-13 50 views
0

环境的console.log说目的是未定义当我调用它的任何成员

Mozilla Firefox浏览器11上的本地主机上运行MAMP和测试

的误差

dirObject [数据]未定义
http://localhost:8888/framework/
第34行

的症状

的console.log(对象 [构件]);产生预期的结果(返回对象),但是console.log(对象 [成员] [成员]);返回对象未定义。

dirObject

var dirObject ={ 
    'directoryName' : { 
      directory : 'path/to/the/directory', 
      txt  : 'textFileInDirectory.js', 
      css  : 'styleSheetFileInDirectory.css', 
      js  : 'javaScriptFileInDirectory.js' 
    }... // There are currently 27 of these structures in my object. 
} 

我的代码

for(var count = 0; count <= size; count++){ 
    var data = keys[count]; 
    console.log(dirObject[data]['directory']); 
} 

- 返回 'dirObject是不确定的',并引用console.logs行号。

for(var count = 0; count <= size; count++){ 
    var data = keys[count]; 
    console.log(dirObject[data]); 
} 

- 返回多维对象(包含在我的插件目录中所列的项目根链接路径和文件名的对象存在)。

+1

我不认为你会介意实际上包括足以让我们复制您的问题?浏览器?短样本? – 2012-07-13 01:40:35

+1

是的,我们需要看看'dirObject'和'keys'的结构。 – prodigitalson 2012-07-13 01:45:18

+0

这是错误消息逐字(如果在哪个浏览器上)?如果没有,请复制并粘贴错误消息 - 除了显示上面要求的数据结构 – nbrooks 2012-07-13 02:55:08

回答

0

提高一个foreach对代码进行测试

for (var i in dirObject){ console.log(i); console.log(dirObject[i]); } 
+0

dirObject - 是一个包含表示子目录的对象集合的对象,因为它是成员。每个dirObjects成员对象(目录)都有4个变量作为它们的成员,一个是目录,它保存目录本身的逻辑路径,另外3个保存它们类型的文件的名称(因此,css的名称是在该目录内的css文件) – CixManCommeth 2012-07-13 13:24:49

+0

可通过使用dirObject [data] .directory'和'dirObject [data] ['directory']''来访问'directory'。 – 2012-07-13 13:26:25

+0

所以请给我打个电话......我刚刚发现了这个问题。通过控制台记录数据变量(通过目录循环,给我所有子目录的目录名称),其中的前两项是'。'和'..'..当然没有dirObject ['..']这就是为什么它回来未定义,并打破了我的代码。非常感谢你帮助我解决这个问题。我觉得这是一个twink。 – CixManCommeth 2012-07-13 13:32:05

相关问题