开发中常用的JS知识点集锦

原创 黎云锐 教程 前端 3121阅读 23 天前 举报

索引

1、对象深拷贝

2、网络图片转base64, 在线图片点击下载

3、对象深拷贝

4、对象深拷贝

5、对象深拷贝

6、对象深拷贝

1、对象的深拷贝(一级属性拷贝和多级属性嵌套拷贝)

1、测试对象的深拷贝

setTimeout(function(){
console.log('\n\n.....数组的深拷贝测试....'); var arr = [{name: '小明'}, true, 18]; var arr2 = Object.assign([], arr); var arr3 = [...arr2]; var arr4 = deepCloneObj(arr); var arr5 = JSON.parse(JSON.stringify(arr));

console.log('arr: ', JSON.stringify(arr));
console.log('arr2: ', JSON.stringify(arr2));
console.log('arr3: ', JSON.stringify(arr3));
console.log('arr4: ', JSON.stringify(arr4));
console.log('arr5: ', JSON.stringify(arr5));
console.log("......end......\n");

setTimeout(function(){

    arr[0].name = '五六七', arr[1] = false, arr[2] = 99;
    console.log('arr: ', JSON.stringify(arr));
    console.log('arr2: ', JSON.stringify(arr2));
    console.log('arr3: ', JSON.stringify(arr3));
    console.log('arr4: ', JSON.stringify(arr4));
    console.log('arr5: ', JSON.stringify(arr5));

}, 100); /* 数组测试打印日志结果:
.....数组的深拷贝测试....
arr:  [{"name":"小明"},true,18]
arr2:  [{"name":"小明"},true,18]
arr3:  [{"name":"小明"},true,18]
arr4:  [{"name":"小明"},true,18]
arr5:  [{"name":"小明"},true,18]
......end......

arr:  [{"name":"五六七"},false,99]
arr2:  [{"name":"五六七"},true,18]    //只拷贝了第一级属性
arr3:  [{"name":"五六七"},true,18]   //只拷贝了第一级属性
arr4:  [{"name":"小明"},true,18]    //所有层级深拷贝
arr5:  [{"name":"小明"},true,18]   //所有层级深拷贝 */ },1000);</pre>
评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复