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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)相关的知识,希望对你有一定的参考价值。

1.数组创建及初始化

     var obj=new Array();

     var arr=[];

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

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

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

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

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

3.关联数组和索引数组

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

所以以下写法能产生运行结果,
能运行结果:2
var 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(存储和释放&堆栈 & 按值 引用)的主要内容,如果未能解决你的问题,请参考以下文章

javascript 红宝书笔记之如何使用对象 如何操作数组

笔记之_javascript操作

JavaScript学习笔记——JavaScript语法之对象

[javase学习笔记]-8.1 statickeyword之特点

javascript split函数

js学习笔记之在数组中删除重复的元素自保留一个