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

Omr*_*nic 2 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
};
Run Code Online (Sandbox Code Playgroud)

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

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

提前致谢

Eli*_*sky 9

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

>>> typeof(options)
"object"
Run Code Online (Sandbox Code Playgroud)

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

此外,本教程非常好.


Jam*_*ate 7

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

对应的代码如下:

var options = {};
options.sourceLanguage = 'en';
options.destinationLanguage = ['hi', 'bn', 'etc'];
Run Code Online (Sandbox Code Playgroud)

方括号[]表示数组.相当于此

var destinationLanguage = [];
destinationLanguage.push('hi');
destinationLanguage.push('bn'); //etc
Run Code Online (Sandbox Code Playgroud)

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

正如您所看到的,使用请求中的符号初始化所有内容更加可读和方便.

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