JavaScript子对象不可访问

时间:2015-06-01 12:37:33

标签: javascript object

我是JavaScript中对象处理的新手,我遇到了问题。我希望你能帮助我。

要了解我在这里做了什么:我有一个多级对象,每个国家/地区有两个不同的电话号码(短代码)。由于列表太长,我为" Europe"添加了一个类别。当我尝试访问子对象的数据时,我的引用总是未定义但是我的console.log(l2)声明子存在并且应该具有已定义的属性。

您能帮我理解为什么属性未定义或我做错了什么?

小提琴:Responsive Web Design Tester

JS:

if(!$this->input->is_ajax_request())
{
    $this->output->set_header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
    $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate');
    $this->output->set_header('Cache-Control: post-check=0, pre-check=0',false);
    $this->output->set_header('Pragma: no-cache');
}

3 个答案:

答案 0 :(得分:2)

我认为你的第二个循环是试图访问它没有的变量:

$.each( l, function( key2, l2 ) {

在其中,您尝试在l.cs中引用function( key2, l2 ),但该函数不知道l是什么,因此它返回一个空的本地对象(和{ {1}} undefined}

我不确定,但这是我第一次看到它的猜测。

答案 1 :(得分:2)

错误在你的小提琴的第81行。

更改

l2.cs = '7108' + l.cs;

l2.cs = '7108' + l[key2].cs;

l是您的第一个类别(例如"欧洲"),它没有名为cs的媒体资源。您需要使用国家/地区名称来获取您的财产。

答案 2 :(得分:-2)

如果您从欧洲,保加利亚等地删除引号,它就有效