12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- // var arr = [1,2,3,['a','b']];
- // // 扩展运算符只能实现浅拷贝
- // var arr2 = [...arr];
- // arr[0] = "hello";
- // arr[3][0] = "world";
- // console.log(arr2);
- // var arr = [1,2,3,['a','b','c']];
- // var arr2 = arr;
- // arr[0] = "hello";
- // console.log(arr2);
- var arr = [1,2,3,['a','b','c']];
- var obj1 = {
- a:1,
- b:2,
- c:{
- str:"hello",
- num:10
- }
- }
- // for(let item in obj){
- // console.log(obj[item]);
- // }
- // var objName = 'a';
- // console.log(obj[objName]);
- // console.log(typeof arr,typeof obj);
- // console.log(Array.isArray(arr));
- function deepClone(obj){
- var res = null
- if(typeof obj == "object"){
- if(Array.isArray(obj)){
- res = [];
- for(let val of obj){
- res.push(deepClone(val))
- }
- }else{
- res = {};
- for(let val in obj){
- res[val] = deepClone(obj[val])
- }
- }
- }else{
- res = obj
- }
- return res
- }
- var newArr = deepClone(arr);
- // arr[0] = "hello";
- // arr[3][0] = "world";
- // console.log(arr,newArr)
- var newObj = deepClone(obj1);
- // obj1.a = "hello";
- // obj1.c.num = 1000;
- // console.log(obj1,newObj)
- </script>
- </body>
- </html>
|