您现在的位置:首页 >> 前端 >> 内容

js中的值传递和引用传递

时间:2017/4/24 9:48:17 点击:

  核心提示:js中的值传递和引用传递:遇到js中的值传递问题,搜博客感觉写的太多了,有点冗余,整理一下,挺清爽的。 var a1=100;var b1=a1; a1=1; console.log(a1,b1); ...

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{
       理解为值传递
      }

Tags:JS S中 中的 的值 
作者:网络 来源:不详
  • 上一篇:如何Css清除浮动
  • 下一篇:DOM操作要点