我有一个具有以下结构的全局对象abc
abc = {
dir_content: {
dir: [
"hi"
]
files: [
"1.txt",
"2.txt"
]
}
directory: "greeting"
}
希望我的符号正确。
dir_content的值由abc.dir_content = data;
我的功能如下
function show_dir() {
console.log(abc.dir_content.dir);
console.log(abc.directory);
}
我希望console.log(abc.dir_content.dir)
能够表示喜欢。但它的说法是未定义的。 console.log(abc.directory)
表示问候很好。
添加:我可以使用console.log(abc.dir_content.dir)
在控制台中打印正确的结果。但它在函数中调用时表示未定义。
我需要遍历函数中的dir和文件数组。但现在我坚持让js读取函数中的值。
编辑:我发现我的全局对象声明有问题。小提琴链接http://jsfiddle.net/xh5YH/。匿名函数声明有什么问题?
答案 0 :(得分:1)
abc = {
dir_content: {
// array of one dir
dir: [ "hi" ],
// array of two files
files: [
"1.txt",
"2.txt"
]
},
directory: "greeting"
}
答案 1 :(得分:0)
dir_content: {
dir: {
key: "hi"
},
files: {
key1: "1.txt",
key2: "2.txt"
}
}
请注意[]
,()
和{}
[]表示您正在创建一个数组,但是您需要一个Object,因此需要{}括号。 此外,返回的dir_content结构不正确。 Object的结构总是如下:
{ key: 'content' }
这就是我为返回的数据添加了key,key1和key 2的原因。如果您设法正确构建数据,一切都会有效。