Markdown在线编辑器 - www.MdEditor.com
造成问题,当两个变量指向同一个地址时,引起数据的同步修改
<script> window.onload =function(){var arr1 =[1,2,3,4,5];//浅拷贝var arr2 = arr1; arr2[2]=100; console.log(arr1);//[ 1, 2, 100, 4, 5 ] console.log(arr2);//[ 1, 2, 100, 4, 5 ]//深拷贝var arr3 =[];for(let i in arr1){ arr3[i]= arr1[i];} arr3[2]=555; console.log(arr1);//[ 1, 2, 100, 4, 5 ] console.log(arr3);//[ 1, 2, 555, 4, 5 ]}</script><script> window.onload =function(){ setTimeout(()=>{ console.log(‘1级宏事件1‘);newPromise((resolve)=>{ resolve()}).then(()=>{ console.log(‘2级微事件3‘);})}); console.log(‘主事件1‘);newPromise((resolve)=>{ console.log(‘主事件2‘); resolve()}).then(()=>{ console.log(‘1级微事件1‘); setTimeout(()=>{console.log(‘2级内宏事件2‘)});}).then(()=>{ console.log(‘1级微事件2‘)})}</script>输出:
主事件1
主事件2
1级微事件1
1级微事件2
1级宏事件1
2级微事件3
2级内宏事件2
原文:https://www.cnblogs.com/Zxq-zn/p/11742122.html