Javascript:如何访问对象中的对象

时间:2012-11-29 23:04:45

标签: jquery-ui-datepicker javascript-objects

我正在使用一个语言文件来存储jquery datepicker的traductions 网址:http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/i18n/jquery-ui-i18n.min.js?ver=3.4.2

返回了jQuery.datepicker.regional对象,我想访问该对象的it(italian)属性。 我的问题是,当我做

之类的事情时
console.log(jQuery.datepicker.regional['it'])

console.log(jQuery.datepicker.regional.it)

控制台说对象未定义。

但是当我做的事情如下:

    console.log(jQuery.datepicker.regional);

控制台返回如下内容:

[Object]
    : Object
    af: Object
    ar: Object
    ...
    it: Object

我做错了什么? “it”对象有没有呢? 如何访问jQuery.datepicker.regional对象的“it”对象?

由于

2 个答案:

答案 0 :(得分:5)

当DOM准备就绪时,每个翻译对象都会更新

jQuery.datepicker.regional

JQuery(function($){ 
    $.datepicker.regional['it'] = {
        // …
    }
})

尝试类似地访问它:

$(function() {
    console.log(jQuery.datepicker.regional.it)
})

除了console.log

之外

console.log仅仅区域对象显示所有本地化对象,因为console.log(有时候console.dirprints a reference到对象,其属性可能已经改变了你真的在控制台里看着它们。肯定有一些浏览器特性。

例如,在Chrome 25.0.1337.0中:

var foo = {};
console.dir(foo) // Object: { baz: "bip" }

console.log(foo) // Object: {}
console.log(foo.baz); // undefined

foo.baz = "bip";


var bar = {};
console.dir(bar) // Object: { baz : { foo: 10 }}

bar.prototype = new Array;
console.log(bar) // Object: { baz : { foo: 10 }}
console.log(bar.baz); // undefined

bar.baz = { foo: 10 };

在Firefox 17.0 + Firebug 1.9.2中:

var foo = {};
console.dir(foo) // Object: { }

console.log(foo) // Object: { baz: "bip" }
console.log(foo.baz); // undefined

foo.baz = "bip";


var bar = {};
console.dir(bar) // Object: {}

bar.prototype = new Array;
console.log(bar) // Object: { baz : { foo: 10 }}
console.log(bar.baz); // undefined

bar.baz = { foo: 10 };

答案 1 :(得分:2)

试试这个:

var regional = jQuery.datepicker.regional;
console.log(regional.it); 
console.log(regional['it']);