首页 > 程序开发 > web前端 > HTML/CSS >

js中的值传递和引用传递

2017-04-24

js中的值传递和引用传递:遇到js中的值传递问题,搜博客感觉写的太多了,有点冗余,整理一下,挺清爽的。

js中的值传递和引用传递:遇到js中的值传递问题,搜博客感觉写的太多了,有点冗余,整理一下,挺清爽的。

 var a1=100;
          var b1=a1; 
          a1=1;
         console.log(a1,b1); //1,100  值传递

     var a2=[1,2,3];
     var b2=a2;
     var a2= [2,3,4];
     console.log(a2,b2); //[2,3,4][1,2,3] 值传递

     var a=[1,2,3];
     var b=a;
     b.push(4); 
     console.log(a,b); //[1,2,3,4] [1,2,3,4] 
    //虽然操作的是b,但是a也改了 看起来像引用传递

    //js中只有值传递
    //1. 纯粹的值传递
    //2. 地址的值传递。(call by sharing)


    //原理:基本数据类型(字符串,数值,布尔)操作在栈中,直接赋值。
    //但是引用数据类型(数组,字符串)在堆中操作传递的是**地址**,
    //如果不是赋值操作,对象就是共享的

  //怎么理解
      if(对象或者数组&&不是赋值操作){
        理解为引用传递
          }else{
       理解为值传递
      }
相关文章
最新文章
热点推荐