zoukankan      html  css  js  c++  java
  • js数组引用

    总结归纳:

       1、普通的赋值是复制栈区内容。

       2、基本类型的数据在栈区存放数据自身,var a=b; //a与b无关。

            引用类型数据在栈区存放数据地址。  var a=b; //a,b联动

       3、基本数据类型包括:undefined,boolean,number,string,null

             引用类型:对象、数组、函数

    • 用jq的$.extend方法(多维数组)

    <script type="text/javascript">  
    var a=[1];  
    var b;  
    b= $.extend(true,{},a)  
    //
    var zNodesNew = $.extend(true,[],zNodesTmp);
    b[0]++;  
    alert(b[0]);   
    </script> 
    • 用数组的concat方法

    <script type="text/javascript">  
    var a=[1];  
    var b=a.concat();  
    b[0]++;  
    alert(a[0]);   
    </script>  
    • for循环数组,挨个赋值

    var a=[1,2,3];
    var b=[];
    for(var i=0; i<a.length; i++){
      b[i]=a[i];
    }
    • 数组的slice()方法

    arrayObject.slice(start,end)

    返回一个新数组,包含从start到end(不包含此元素)的arrayObject中元素。该方法不修改原数组,而是返回一个新数组。

    var arr =["a","b","c","d","e"];
    var arr1=arr.slice(2,4);
    console.log(arr1);            //"c,d"
    
    var arr2=arr.slice(0);
    console.log(arr2);            //"a,b,c,d,e"
    
    arr2[2]="wang"
    console.log(arr);            //"a,b,c,d,e" 与原数组不联动
    console.log(arr2);           //"a,b,wang,d,e"

    参考地址:

    https://blog.csdn.net/u010267996/article/details/61191975

    https://www.cnblogs.com/matthew-2013/p/3524297.html

    https://www.cnblogs.com/yuyifan/p/6204365.html

  • 相关阅读:
    Windows 10 IoT Serials 3
    Guest Speaker on 2015 WinHEC Shenzhen 秋季大会
    Ignite China 2015 之行
    Windows 10 IoT Serials 2
    Build 2015 Beijing & Windows 10 China Geek Challenge
    Windows 10 IoT Serials 1
    WinHEC 2015 深圳之行
    Windows on Device 项目实践 5
    2015 MVP OpenDay 及 Community Camp 演讲PPT分享
    Windows on Device 项目实践 4
  • 原文地址:https://www.cnblogs.com/wanghaokun/p/9712621.html
Copyright © 2011-2022 走看看