好吧,我是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数组,但它似乎不是传统的数组。 仍然不知道它是某种数组还是其他数据类型!!
此外,有没有办法将单个元素设置为该数据类型,例如单独设置数组元素。
提前致谢
答案 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;
与您的示例的唯一区别在于它是批量执行所有操作。一下子。