首页 > 代码库 > JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)

JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)

1.数组创建及初始化

     var obj=new Array();

     var arr=[];

    可以延伸为长度一定的,字面量定义数组

2.堆栈 按值传递 引用类型

  数组是引用类型,不是值传递,

  栈:系桶自动分配和释放 ,比如函数的参数、局部变量 先进后出 一级缓存

  堆:一般由程序员分配释放,程序结束后系统回收 先进先出 二级缓存

3.关联数组和索引数组

  关联数组即hash数组,本质上js底层,一切对象都是关联数组

所以以下写法能产生运行结果,能运行结果:2var keys=[1,2,3,4];console.log(keys["1"]);

4.example  借助hash数组删除数组重复单元

    

  function f(arr)
{
var arrc=[];
//拿出arr第一个元素,放入arrc数组第一个
arrc[1]=arr[0];
//遍历arr数组,从1开始,取出元素,与arrc中元素比较
for(var i=0;i<arr.length;i++)
{
for(var j=0;j<arrc.length;j++)
{
if(arrc[j]==arr[i])
break;//相等则结束此次的寻找

//不相等则赋值给下面数组,
if(j==length-1)
arrc[arrc.length]=arr[i];
}
}
return arrc;
}

console.log(f([1,2,2,1,4,5]));

JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)