• 数组的引用


    var arrA=[1,2,3,4];
    var arrB;
    arrB=arrA;//将arrA的引用赋值给arrB
    arrB[0]='aaa';
    console.log('arrA',arrA);//['aaa',2,3,4]
    console.log('arrB',arrB);//['aaa',2,3,4]

    var arrC=[1,2,3,4];
    var arrD;
    arrD=arrC.slice();//用slice()创建新数组,切断两个数组的联系
    arrD[0]='ccc';
    console.log('arrC',arrC);//[1,2,3,4]
    console.log('arrD',arrD);//['ccc',2,3,4]

    var arrE=[5,6,7,8];
    var arrF=[];
    arrF.push(arrE);//将arrE的引用push到arrF
    //alert(arrF);//[[5,6,7,8]]
    //console.log('arrF[0]',arrF[0]);//[5,6,7,8]
    //console.log BUG
    //console.log点开arrF的时候才获取arrE
    console.log('arrF_BUG',arrF);//[['eee',6,7,8]] 或 [[5,6,7,8]]
    console.log('arrE',arrE);//[5,6,7,8]

    // document.onclick=function () {
    // arrE[0]='eee';
    // console.log('arrF',arrF);//[['eee',6,7,8]]
    // console.log('arrE',arrE);//['eee',6,7,8]
    // }


    var arrX=[7,8,9,10];
    var arrY=[7,8,9,10];
    var arrTemp=[];

    document.onclick=function () {
    arrTemp.push(arrX.sort(function () {
    return Math.random()-0.5;
    }));
    // arrTemp.push(arrX.sort(function () {
    // return Math.random()-0.5;
    // }).slice());
    console.log('arrTemp[0]',arrTemp[0]);
    console.log('arrTemp',arrTemp);
    }
    // alert(arrX==arrY);//false 对象引用不相等,可以先.toString(),再判断是否相等

    //.toString()  将数组转换为字符串,用逗号","连接

  • 相关阅读:
    Edge 修改使用的默认搜索引擎
    VSCode 插件之
    Visual Studio Code 插件之
    一个随笔
    COGS 2479 偏序 题解
    [NOIP2015] 子串substring 题解
    [CQOI2011]动态逆序对
    树套树三题 题解
    一个随笔
    HEOI 2016 游记
  • 原文地址:https://www.cnblogs.com/king2016/p/5766942.html
Copyright © 2020-2023  润新知