这个JavaScript代码是什么类型的数据?

时间:2010-04-02 08:29:53

标签: javascript arrays types

好吧,我是JavaScript新手。 你能告诉我这段JavaScript代码的数据类型是什么:

var options =
{
    sourceLanguage: 'en',
    destinationLanguage: ['hi', 'bn', 'fa', 'gu', 'kn', 'ml', 'mr', 'ne', 'pa', 'ta','te','ur'],
    shortcutKey: 'ctrl+g',
    transliterationEnabled: true
};

我已经回顾了JavaScript数组,但它似乎不是传统的数组。 仍然不知道它是某种数组还是其他数据类型!!

此外,有没有办法将单个元素设置为该数据类型,例如单独设置数组元素。

提前致谢

5 个答案:

答案 0 :(得分:9)

这是一个Javascript对象。在JS控制台中,您可以检查其类型:

>>> typeof(options)
"object"

JS对象有时用作简单的关联数组(如其他语言中的哈希表或字典)。您在此处提供的代码段可能仅供此用途。在this tutorial中阅读有关该技术的更多信息。

此外,this tutorial非常好。

答案 1 :(得分:7)

这是一种在javascript中创建和初始化对象的方法,称为对象文字。由于javascript是动态类型的,因此您可以随时添加键/值,甚至可以添加内置对象。

这个的等效代码是:

var options = {};
options.sourceLanguage = 'en';
options.destinationLanguage = ['hi', 'bn', 'etc'];

方括号[]表示数组。对此的等价物是

var destinationLanguage = [];
destinationLanguage.push('hi');
destinationLanguage.push('bn'); //etc

您可以通过索引访问数组元素,例如destinationLanguage [0]。

正如您所看到的,使用请求中的表示法初始化所有内容更加可读和方便。

这种表示法形成了一种名为JSON(Javascript Object Notation)的东西的基础,它是用于在客户端和服务器之间传递信息的有线格式。您的示例中的字符串可以通过AJAX请求进行检索,并以多种方式解析为复杂对象。

答案 2 :(得分:3)

它是一个对象文字 换句话说,它是一条捷径:

var options = new Object();
options.sourceLanguage = 'en';
options.destinationLanguage = ['hi','bn', 'fa', 'gu', 'kn', 'ml', 'mr','ne']; 
options.shortcutKey = 'ctrl+g'; 
options.transliterationEnabled = true

答案 3 :(得分:1)

在JavaScript中,您可以使用JavaScript Object Notation(JSON)创建单例对象:

var o = {
    prop1 : 'value',
    func1 : function() {
        this.prop1 = 'some other value';
    }
}

然后你可以做到以下几点:

alert(o.prop1); // displays 'value' in an alert box in a browser environment
o.func1();
alert(o.prop1); // displays 'some other value' in an alert box

是的,这是一个对象。当然,JavaScript中的其他内容也是如此。是的,它可以用作哈希或字典。

答案 4 :(得分:0)

也称为多种语言的字典。您有一个键值对,因此您可以访问以下键:

value = dictionary[key]

或在你的情况下:

lang = options['sourceLanguage'];

写作是一样的但倒退:

options['sourceLanguage'] = lang;

与您的示例的唯一区别在于它是批量执行所有操作。一下子。