Javascript数组或对象的区别以及如何获取索引。
从下面的代码可以看出,函数菜单是用三个参数调用的。 从菜单函数中,如何根据调用菜单的对象获取名称或差异名称Javascript数组或对象的区别以及如何获取索引。,javascript,Javascript,从下面的代码可以看出,函数菜单是用三个参数调用的。 从菜单函数中,如何根据调用菜单的对象获取名称或差异名称 var menus = { name: menu('Control', [ { label: 'Public Class My Robot', trigger: true, script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
var menus = {
name: menu('Control', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
diffname: menu('Control2', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
};
还有,菜单是什么类型的变量?(数组、对象等)
以下两段代码之间的区别是什么:
var test = ["str1","str2","str3","str4"];
var test2 = {id:"str1",id2:"str2",id3:"str3",id4:"str4"};
test是一个数组,test2是一个对象
菜单是一个对象。test是一个数组,test2是一个对象
菜单是一个对象。由于JavaScript中没有关联数组,如果要分配key:val对并模拟关联数组功能和引用行为,则需要使用对象
var测试=[“str1”、“str2”、“str3”、“str4”]代码>表示数字索引数组。我们看到了对数组进行分组的方括号,并且只看到了逗号分隔的值。如果我们想访问'str3',我们将使用test[2]
var test2={id:“str1”,id2:“str2”,id3:“str3”,id4:“str4”}代码>是一个对象。我们可以看到对对象参数进行分组的大括号,还可以看到由冒号分割的key:val对。如果我们想访问'str3',我们将使用test2.id3
初学者可能会感到困惑的一件事是,对象可以包含数组,而数组可以包含对象,因此方括号和大括号可以混合在一起,并且不会立即变得明显。可以通过数组对象创建数组,如var arr=new array()
。要使事情简单,请将它们分隔开来,并根据它们的预期行为调用它们:[]
=array和{}
=object
在您的示例中:
var menus = {
name: menu('Control', [
{
label: 'Public Class My Robot',
....
您可以看到菜单
是一个对象,因为它被指定给了一个大括号。您可以看到,name
是一个键,菜单('Control'
是一个值,在本例中它恰好是一个函数。它的第一个参数是一个明显的字符串,第二个参数是一个数组[]
,它只包含一个值,这是一个对象{}
具有key:val对-标签
作为键,而'Public Class My Robot'
作为值,在本例中它只是一个字符串。由于JavaScript中没有关联数组,如果您想分配key:val对并模拟关联数组功能和引用beh,则需要使用对象阿维奥
var test=[“str1”、“str2”、“str3”、“str4”];
表示数字索引数组。我们看到了对数组进行分组的方括号,并且只看到逗号分隔的值。如果我们想访问“str3”,我们将使用test[2]
var test2={id:“str1”,id2:“str2”,id3:“str3”,id4:“str4”};
是一个对象。我们可以看到对对象参数进行分组的花括号,并且可以看到由冒号分隔的key:val对。如果我们想访问“str3”,我们将使用test2.id3
初学者可能会感到困惑的一件事是,对象可以包含数组,而数组可以包含对象,因此方括号和大括号可以混合在一起,而不是很明显。您可以通过数组对象创建数组,如var arr=new array()
。要使事情简单,请将它们分隔开来,并根据它们的预期行为调用它们:[]
=array和{}
=object
在您的示例中:
var menus = {
name: menu('Control', [
{
label: 'Public Class My Robot',
....
您可以看到菜单
是一个对象,因为它被分配给了一个大括号。您可以看到名称
是一个键,菜单('Control'
是一个值,在本例中它恰好是一个函数。它的第一个参数是一个明显的字符串,第二个参数是一个数组[]
只包含一个值,它是一个对象{}
其中key:val pairs-label
是键,而'Public Class My Robot'
是值,在本例中它只是一个字符串。将test
变量分配给数组
文本。test2
变量分配给对象
文本
我已经读过,但无法证实,从技术上讲,Array
s和Object
s与其他语言中的哈希映射结构最为相似,区别在于,虽然Array
只有Number
键,对象
可以有任何类型作为键类型(特别是Strings
)。
JavaScript中不建议使用Array
s中的String
键(即使用关联Array
s)
菜单
变量被分配给对象
文本
请澄清你的意思:
从菜单函数中,如何根据调用菜单的对象获取名称或差异名称
var menus = {
name: menu('Control', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
diffname: menu('Control2', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
};
如果菜单
函数
返回任何类型的对象,则键name
或diffname
将映射到该值:即
var nameValue = menus.name ;
var nameDiffValue = menus.diffname ;
test
变量被分配给数组
文本。test2
变量被分配给对象
文本
我已经读过,但无法证实,从技术上讲,Array
s和Object
s与其他语言中的哈希映射结构最为相似,区别在于,虽然Array
只有Number
键,对象
可以有任何类型作为键类型(特别是Strings
)。
JavaScript中不建议使用Array
s中的String
键(即使用关联Array
s)
菜单
变量被分配给对象
文本
请澄清你的意思:
从菜单函数中,如何根据调用菜单的对象获取名称或差异名称
var menus = {
name: menu('Control', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
diffname: menu('Control2', [
{
label: 'Public Class My Robot',
trigger: true,
script: 'public class MyRobot extends SimpleRobot\n{\n[[next]]\n}\n',
helptext: "Beginning fo your program",
depend: "package edu.team2648.frcEasyJ;"
}], false),
};
如果菜单