鍍金池/ 問答/HTML/ 很普通的一段JS代碼,但是卻出現(xiàn)了很詭異的問題

很普通的一段JS代碼,但是卻出現(xiàn)了很詭異的問題

代碼如下,anchor是一個map結(jié)構(gòu),根據(jù)id獲取anchor中的一個元素,打印anchor.get(id)沒有問題,獲取anchor.get(id)中存在的屬性卻是空的,這讓我很不明白

    function sendLiveOffer(id) {
        console.log(id)
        console.log(anchor.get(id))
        console.log(anchor.get(id).localDescription)
        let sdp = anchor.get(id).localDescription
        let offer = {
            name: 'anchor',
            target: id,
            type: "video-offer",
            sdp: sdp
        }
        console.log('offer 已發(fā)出')
    }

圖片描述

回答
編輯回答
帥到炸

如果你了解對象是引用類型你就不會疑惑了。

給你段代碼參考,還不明白就沒轍了:

var o = {a:1, b:{b1:"", b2:""}, c:"testing"};
setTimeout(()=>{o.b = {b1:"hello", b2:"world"}}, 100);
console.log(o);
console.log(o.b);
2017年5月8日 21:59
編輯回答
晚風(fēng)眠

屬性是空的? 還是報錯? 會不會是字符串?需要轉(zhuǎn)一下
你typeof一下

clipboard.png

2017年6月9日 15:54
編輯回答
做不到

應(yīng)該是異步的問題吧,再anchor.get(id).localDescription之后你修改了值。

2018年7月30日 03:14
編輯回答
練命
 let info = anchor.get(id);
 let desc = info.localDescription;

導(dǎo)一下試試?

2017年4月27日 15:34