<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      金木編程

      公眾號:金木編程

      導(dǎo)航

      javascript對象引用與賦值

      avascript對象引用與賦值

      <script type="text/javascript">

      //例子一: 引用

      var myArrayRef = new Array(0,1,2); //創(chuàng)建數(shù)組對象

      var mySeconArrayRef = myArrayRef; // 對象復(fù)制.

      myArrayRef[0] = 100; // 修改元素值

      alert(mySeconArrayRef[0]);

      /**

      * 輸出 100; 學(xué)過其它語言的都應(yīng)該知道這里應(yīng)該輸出的是0 為什么輸出的是100呢?

      * 上面程序通過把myArrayRef對象復(fù)制給了mySeconArrayRef這時就存在了2個獨(dú)立的 但最初值是相同的對象

      * 因?yàn)槭仟?dú)立的為什么修改myArrayRef會對別一個對象有影響呢?大家都知道只有當(dāng)他們引用的是同一個對象時這時修改一個才會

      * 對別一個產(chǎn)生影響.但是在javascript語言中創(chuàng)建的對象myArrayRef值中其時保存的是對象的引用(也就是一個地址).

      * 也就是 我用 new Array生成的保存在內(nèi)存中而new Array把它所在的地方告訴了myArrayRef,myArrayRef又把這地址告訴了mySeconArrayRef

      * 他們兩個都指向的是new Array生成對象的地址而不是把對象保存在myArrayRef中,所以通過其中的一個去修改值時其時是修改他們同指象的那對象.

      */

      alert(mySeconArrayRef[0] );

      //例子二: 賦值

      var myVa = 'ABC'; //把ABC的值 賦予了myVa

      var myVb = myVa; // myVa 賦值給 myVb

      myVa = 'DEF'; //修改myVa

      /**

      * 輸出的是:ABC. 因?yàn)槭前阎当4嬖诹俗兞苛?而不是保存的是引用地址,所以他們兩個是相對獨(dú)立的整體.

      */

      alert(myVb);

      </script>

      如果真要復(fù)制對象互不影響,則要通過轉(zhuǎn)換賦值或者遍歷key:value來復(fù)制你中的方法和屬性。

      注意:對象的子對象也是引用,所以遍歷賦值的時候要判斷,子元素是否是對象,如果子元素是對象,則繼續(xù)對子元素進(jìn)行遍歷賦值。
      轉(zhuǎn)換賦值方式:

      var data = {a:1,b:2,c:3,d:[0,1,2,3]};
      var str = JSON.stringify(data);
      var data1 = $.parseJSON(str); //$為jQuery對象需要引入jQuery包
      data1["e"] = 4;
      data1["d"][0] = 11;
      console.log(data);
      console.log(data1);

      輸出結(jié)果:
      {a: 1, b: 2, c: 3, d: [0,1,2,3]}
      {a: 1, b: 2, c: 3, d: [11,1,2,3], e: 4}

      相互沒有影響

       

      當(dāng)對象引用做為函數(shù)參數(shù)傳遞時候,依然會相互影響,切記,如下示例:
      var data = {a:1,b:2,c:3,d:{q:4,w:5,e:6}};
      var data1 = data;
      function con(data2){
      data2["r"] = 5;
      console.log(JSON.stringify(data2));
      }
      con(data1);
      console.log(JSON.stringify(data));

      輸出結(jié)果:

      {"a":1,"b":2,"c":3,"d":{"q":4,"w":5,"e":6},"r":5}
      {"a":1,"b":2,"c":3,"d":{"q":4,"w":5,"e":6},"r":5}
       
      對象引用賦值后,如果將對象置空,相互間是不受影響的,如下:
      var arr = {"a":"1","b":"2"};
      var arr1 = arr;
      arr = {};
      arr["a"] = 2;
      console.log(arr1);
      console.log(arr);

      輸出結(jié)果:{"a":"1","b":"2"},{"a":2}

      posted on 2016-09-19 10:24  金木雜談  閱讀(4182)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 高清美女视频一区二区三区| 无码国内精品人妻少妇| 午夜国产小视频| 亚洲AV日韩AV永久无码电影| 风流老熟女一区二区三区| 中文国产日韩欧美二视频| 成人精品久久一区二区三区| 人人妻人人澡人人爽欧美一区双| 视频一区视频二区制服丝袜| 亚洲中文字幕一二区日韩| jizz视频在线观看| 99热这里只有精品免费播放| 自拍第一区视频在线观看| 亚洲成人午夜排名成人午夜| 日区中文字幕一区二区| 年轻女教师hd中字3| 在线免费播放亚洲自拍网| 亚洲国产综合精品 在线 一区| 91福利视频一区二区| 国产精品∧v在线观看| 无码人妻h动漫| 国产精品天干天干综合网| 亚洲精品乱码久久久久久中文字幕| 国产精品制服丝袜无码| 精品免费看国产一区二区| 青草热在线观看精品视频| 久久精品亚洲日本波多野结衣| 国产精品SM捆绑调教视频| 亚洲av天堂天天天堂色| 亚洲中文字幕无码一久久区| 老熟女重囗味hdxx69| 国产女人喷潮视频免费| 女人被狂躁c到高潮| 亚洲中文字幕精品第三区| 亚洲欧美综合在线天堂| 桂林市| 真实国产老熟女无套内射| 国产在线中文字幕精品| 18禁免费无码无遮挡不卡网站 | 色综合色综合久久综合频道| 国产91精品丝袜美腿在线|