這道Js題也太有趣了吧

    var yideng = {
        n:1
    };
    yideng.x=yideng={
        n:2
    };
    console.log(yideng.x)
    //undefined
    //注意運算符的優先級
    //yideng.x=yideng={n:2}這里非常特殊,因為“.“的優先級要高于”=“
    //所以這里的順序就是
    //1.先創建了一個x屬性,值為undefined,掛在yideng下面
    //2.yideng的指向被改變,指向了{n:2}
    //3.剛才創建的x屬性被賦值為{n:2}
    //4.此時yideng的指向已經被改變了,不再指向原有的對象,所以這里的yideng.x指向后來的對象,
    //5.后來的對象里面只有{n:2}
    //6.所以x屬性是undefined
    //下面就來驗證一下我們的想法(object是引用類型,是利用指針來指向堆里面的數據的)
    var yideng = {
        n:1
    };
    var yideng1 = yideng;//yideng1和yideng都指向n:1這里
    yideng.x = yideng = {
        n:2
    };
    console.log(yideng.x)//undefined
    console.log(yideng1.x)//2
.png

對于引用類型的復制,只是指針的復制,我們看看紅寶書里面是怎么說的


![image](http://upload-images.jianshu.io/upload_images/7728915-b2c4a4b1bd590f3e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Swift1> Swift和OC的區別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,145評論 1 32
  • 一 語法: border-radius:none | <length>{1,4} [/ <length>{1,4}...
    飄雪飛舞閱讀 1,065評論 0 0
  • (一) 對于溫涼來說,顧城是她心頭的白月光。 好吧,溫涼并沒有讀過張愛玲的書,只是偶然間聽過這樣一個比喻,她也不知...
    輕輕呀閱讀 3,667評論 46 73
  • 拉選票 今天有一位同志,在微信圈為自己的一位親戚小朋友拉選票。我想就此發表一下我個人看法: 在信息...
    你健康我快樂_61fc閱讀 897評論 0 1
  • 今天又重復看了電影爆裂鼓手! 看著男主怎么由一個青澀的音樂學院新生變成了可以隨意虐人的大卡,看著他為了打鼓為了提升...
    collinsun閱讀 303評論 0 0