1. 程式人生 > >web前端js基礎之,簡單理解“深拷貝與淺拷貝”

web前端js基礎之,簡單理解“深拷貝與淺拷貝”

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>簡單理解深拷貝與淺拷貝</title>
</head>
<body>
    <ul>
        <li></li>
        <li></li>
        <hr>
        <li></li>
        <li></li>
    </ul>
</body>
</html>
<script>
    var lis =  document.getElementsByTagName("li");
    var arr = ["深","淺","拷","貝"];

    //淺拷貝
    var str = arr;//像str這樣直接被賦值的形式就是“淺拷貝”
    str[0] = "改變";
    lis[0].innerHTML = str[1] + str[2] +str[3];
    lis[1].innerHTML = str[0];
    //第一步:定義一個數組
    //第二步:定義一個變數接收這個陣列,再改變這個陣列的一個數
    //第三步:打印出陣列


    // 深拷貝:
    var newarr = arr.slice(0,3);//
    newarr[0] = "深";
    lis[2].innerHTML = newarr[0]+newarr[1]+newarr[2];

    //第一步:在這個例子裡,用陣列的方法返回選定的陣列。
    //第二步:改變返回陣列的其中1個
    //第三步:打印出陣列

</script>