JS数组好像跟JAVA不一样?
看山看水看代码
看山看水看代码 2016-12-17 13:28:58
0
2
1608

java数组放的都是同一个类型的数据,JS好像啥都能放是吗?我混乱了

看山看水看代码
看山看水看代码

reply all(2)
Ty80

js的数组可以存放任意js类型。包括其他数组、对象或者函数的引用。关联数组与常规数组是有区别的,常规数组用数字下标,关联数组则用字符串作下标。由于js是非类型语言,故数组中的元素类型不必一致。
数组声明: var arr= new Array();然后可以单独为每个元素赋值。也可以在声明时赋值: new Array(1,'ok',3,true,{x:1,y:4});
js数组感觉就是java中数组与Arraylist的结合体。兼具两者优点。
如果只向Array()构造函数传递一个参数,那么该参数是指定数组的长度。
数组也有直接量,比如:
var array = [1.2,'javascript',true,{x:1,y:2}];
数组亦可嵌套:
var  matrix=[[1,2,3],[4,5,6],[7,8,9]];  虽然js不支持多维数组,但是这么一嵌套,就成了多维数组。而且js中数组直接量 的元素不必仅限于常量,它可以是任意表达式:
var base=3;
var table=[base,base+1,base+2];
甚至你可以在数组中存放未定义的元素,比如var unkown=[1,,5];     //2号元素就是未定义的
这么宽松的语法正是js令人头痛之处啊。当然这也是js强大之处。

---------------------------------------------------------------------------------------------------------

javascript里是关联数组,类似Java的Map

几行代码演示一下:
var data = new Array();
data[0] = 'good';
data["one"] = 1;
console.log(data);
输出:[ 'good', one: 1 ]


数组总的来说没有多大的区别,无非就是在定义上有所区别罢了。不管是任何语言都是这样。JS是客户端弱语言,而JAVA则是处境后台底层的一门语言。

阿神

不一样,java中的数组声明时需要标明数据类型,和长度,一旦声明完成,,数组长度也确定了,除非进行扩容,否则放不下。JS中虽然声明中也确定了长度,但是存储达到长度最大值时也能够再放下,并不需要扩容操作,存放的数据类型也是没有限制的

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template