亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js關于對象內存地址的一些問題點過來

js關于對象內存地址的一些問題點過來

蝴蝶不菲 2018-12-27 22:13:53
 function Animal(name){            this.name=name;            this.hobby = function(){                console.log(this.name+"愛抓老鼠");            }        }        var cat =new Animal();        var dog =new Animal();        console.log(cat==dog) //false 這里是false    var Animal = {        name : "aaa"    }    var a = Animal;    var b = Animal;    b.age= 21;    console.log(a==b) //true 這里是true這是為什么?能詳細解釋一下對象在賦給一個變量的時候內部的工作原理么
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

第一個false是因為 cat和dog是Animal的兩個不同實例對象,各自傳入的name屬性值都不一樣,這里的屬性值都是在各自的實例對象上的,是兩個不一樣的對象,所以是false。

第二個ture是因為你的Animal是一個對象,var a = Animal; var b = Animal;都是引用賦值,a和b都指向了Animal的內存地址,所以a和b指向的是同一個對象,所以是ture,你給b.age=21 其實就是Animal.age=21,同樣a.age這時候也是21,因為他們都指向同一個地址。


查看完整回答
反對 回復 2019-01-05
  • 1 回答
  • 0 關注
  • 441 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號