Javascript中的数组
我心里一直有这个愚蠢的疑问,但从来没有想出解决办法 我见过几种数组,但我不知道它们之间的区别。我不知道如何准确地解释,但在使用jQuery传递参数时最为重要 见:Javascript中的数组,javascript,jquery,Javascript,Jquery,我心里一直有这个愚蠢的疑问,但从来没有想出解决办法 我见过几种数组,但我不知道它们之间的区别。我不知道如何准确地解释,但在使用jQuery传递参数时最为重要 见: {'choices[]':[“Jon”,“Susan”]}在$(“#objectID”).load(“test.php”,“{'choices[]':[“Jon”,“Susan”]}) 什么是{}?(这是否意味着它是一个数组?)。为什么要引用choices[]?我已经看过没有报价的,有什么区别?我假设choices是关联名称,[“Jo
{'choices[]':[“Jon”,“Susan”]}
在$(“#objectID”).load(“test.php”,“{'choices[]':[“Jon”,“Susan”]})代码>
什么是{}?(这是否意味着它是一个数组?)。为什么要引用choices[]
?我已经看过没有报价的,有什么区别?我假设choices
是关联名称,[“Jon”,“Susan”]
是值,对吗?大括号{}
将使用。您不是在构造数组,而是在构造对象,尽管JavaScript对象也可以被视为一个数组
进一步阅读:
- (滚动至“对象”部分)
除了少数基本类型(数字、字符串、布尔值、null和未定义)之外,一切都是JavaScript中的对象(甚至函数)
对象基本上是属性的容器,对于收集和组织数据非常有用
对象文字符号(您描述的大括号{}
方法)对于创建对象非常方便:
var myFirstObject = {
'name': 'Bobby',
'surname': 'Smith'
};
如果名称是合法的JavaScript标识符而不是保留字,则属性名称周围的引号是可选的。这就是为什么在您的示例中引用了'choices[]”
,因为它不是合法的JavaScript标识符。属性的名称可以是任何字符串,只要它被引用
对象还可以包含其他对象,因此它们可以轻松表示树或图形:
var myFlight = {
'airline': 'Airline Name',
'number': 'AN700',
'departure': {
'IATA': 'SYD',
'time': '2010-09-04 23:10:00'
},
'arrival': {
'IATA': 'LAX',
'time': '2010-09-05 05:14:00'
}
};
JavaScript对象也是一种方便的数据结构,可以用作前面提到的关联数组。您可以轻松地执行以下操作:
var myHashTable = {};
myHashTable['name'] = 'Bobby';
myHashTable['surname'] = 'Smith';
// subscript notation:
alert(myHashTable['name'] + ' ' + myHashTable['surname']);
// dot notation: (equivalent)
alert(myHashTable.name + ' ' + myHashTable.surname);
大括号{}
将使用。您不是在构造数组,而是在构造对象,尽管JavaScript对象也可以被视为一个数组
进一步阅读:
- (滚动至“对象”部分)
除了少数基本类型(数字、字符串、布尔值、null和未定义)之外,一切都是JavaScript中的对象(甚至函数)
对象基本上是属性的容器,对于收集和组织数据非常有用
对象文字符号(您描述的大括号{}
方法)对于创建对象非常方便:
var myFirstObject = {
'name': 'Bobby',
'surname': 'Smith'
};
如果名称是合法的JavaScript标识符而不是保留字,则属性名称周围的引号是可选的。这就是为什么在您的示例中引用了'choices[]”
,因为它不是合法的JavaScript标识符。属性的名称可以是任何字符串,只要它被引用
对象还可以包含其他对象,因此它们可以轻松表示树或图形:
var myFlight = {
'airline': 'Airline Name',
'number': 'AN700',
'departure': {
'IATA': 'SYD',
'time': '2010-09-04 23:10:00'
},
'arrival': {
'IATA': 'LAX',
'time': '2010-09-05 05:14:00'
}
};
JavaScript对象也是一种方便的数据结构,可以用作前面提到的关联数组。您可以轻松地执行以下操作:
var myHashTable = {};
myHashTable['name'] = 'Bobby';
myHashTable['surname'] = 'Smith';
// subscript notation:
alert(myHashTable['name'] + ' ' + myHashTable['surname']);
// dot notation: (equivalent)
alert(myHashTable.name + ' ' + myHashTable.surname);
{}用于javascript对象,也称为JSON符号。[]用于阵列
{attributeName1: 'attributeValue1', attributeName2: 'attributeValue2'}
vs
{}用于javascript对象,也称为JSON符号。[]用于阵列
{attributeName1: 'attributeValue1', attributeName2: 'attributeValue2'}
vs
{}
是用于创建对象的语法<代码>[]
是用于创建数组的语法。对象是格式为key->value
的项目集合;数组是仅存储值的项的集合
'choices[]'
被引用是因为choices[]
(不带引号)在Javascript中有特殊的含义。通过引用它,它被视为字符串,因此允许作为对象中的键。您只需要引用对象键,否则它们在Javascript中会有特殊意义。{}
是创建对象的语法<代码>[]是用于创建数组的语法。对象是格式为key->value
的项目集合;数组是仅存储值的项的集合
'choices[]'
被引用是因为choices[]
(不带引号)在Javascript中有特殊的含义。通过引用它,它被视为字符串,因此允许作为对象中的键。您只需要在对象键在Javascript中有特殊含义的地方引用它们。Javascript有数组和对象(可以认为是关联数组)。对象如下所示:
var someObject = {
'key': 'value',
'anotherKey': 'anotherValue'
};
var someArray = [
'value',
'anotherValue'
];
数组如下所示:
var someObject = {
'key': 'value',
'anotherKey': 'anotherValue'
};
var someArray = [
'value',
'anotherValue'
];
从技术上讲,数组是对象的一个子类,其键是零索引数字,尽管在对象上创建数字作为键不会得到数组。(这也是一个语法错误,因为键必须是字符串)
JavaScript有数组和对象(可以认为是关联数组)。对象如下所示:
var someObject = {
'key': 'value',
'anotherKey': 'anotherValue'
};
var someArray = [
'value',
'anotherValue'
];
数组如下所示:
var someObject = {
'key': 'value',
'anotherKey': 'anotherValue'
};
var someArray = [
'value',
'anotherValue'
];
从技术上讲,数组是对象的一个子类,其键是零索引数字,尽管在对象上创建数字作为键不会得到数组。(这也是一个语法错误,因为键必须是字符串)
那么,如果属性名是有效名称,那么无论您是否引用属性名,javascript都有什么区别吗?@Rodrigo:没有,根本没有区别。但是请注意,需要引用名称。因此,如果属性名称是有效名称,则无论是否引用属性名称,javascript是否有任何区别?@Rodrigo:没有,没有任何区别。但是请注意,需要引用名称。