js数据结构-知识点-数组

1. join和toString

同:都可将数组转换为字符串。

异:join可自定义拼接的连接符号,默认为‘,’ ;而toString只有‘,’

例如:

var a=[1,2,3]

a.join();//'1,2,3'

a,join('-');//'1-2-3'

a.toString();//'1,2,3'

2. 深拷贝,浅拷贝,一层深拷贝

针对引用数据类型产生的问题。引用数据类型的数据,值存放在堆内存中,地址存放在栈内存中。

简单的赋值操作,实际上是将地址赋值给新的变量,因此导致一个变量改变,另一个变量同时改变。即浅复制。

进而,如果要实现深拷贝,使变量间的改变不会相互影响,须要使得实际的赋值操作为操作的变量的值而不是变量的地址。

详细的有:https://www.jianshu.com/p/cf1e9d7e94fb

3. 构造函数创建变量

https://www.jianshu.com/p/4dda15852f36

4.instanceof原理与原型链

https://www.jianshu.com/p/6c99d3678283

5.sort()原理

6.多维数组

JS只支持一维数组,更高纬度的数组由嵌套数组发展而来。

 一维数组:[1,2,3];  //数组的每一个元素是一个标量

二维数组:[["a","b","c"],[1,2,3],123];  //数组的每一个元素是一个一维数组

三维数组:[[["a","b","c"],[1,2,3]],[["a","b","c"],[1,2,3]]];  //数组的每一个元素是一个二维数组

需要注意的是,多维空数组不能直接向某个元素赋值,如

var arr1=[];//一维数组
var arr2=[];//二维数组
var arr3=[];//三维数组
//直接赋值,失败
arr3[0][0][0]=1;
//必须,逐层赋值
arr1[0]=0;
arr2[0]=arr1
arr3[0]=arr2;
//可以直接访问元素
console.log(arr3[0][0][0]);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picoasis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值