Markdown在線編輯器 - www.MdEditor.comjavascript
形成問題,當兩個變量指向同一個地址時,引發數據的同步修改java
<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 promise