为了账号安全,请及时绑定邮箱和手机立即绑定

很普通的一段JS代码,但是却出现了很诡异的问题

很普通的一段JS代码,但是却出现了很诡异的问题

繁星点点滴滴 2019-03-11 17:23:15
代码如下,anchor是一个map结构,根据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 已发出')    }
查看完整描述

4 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

如果你了解对象是引用类型你就不会疑惑了。


给你段代码参考,还不明白就没辙了:


var o = {a:1, b:{b1:"", b2:""}, c:"testing"};

setTimeout(()=>{o.b = {b1:"hello", b2:"world"}}, 100);

console.log(o);

console.log(o.b);


查看完整回答
反对 回复 2019-03-26
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

应该是异步的问题吧,再anchor.get(id).localDescription之后你修改了值。


查看完整回答
反对 回复 2019-03-26
?
慕容3067478

TA贡献1773条经验 获得超3个赞

属性是空的? 还是报错? 会不会是字符串?需要转一下
你typeof一下

https://img1.sycdn.imooc.com//5c99dbdb0001205803740199.jpg

查看完整回答
反对 回复 2019-03-26
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

 let info = anchor.get(id);

 let desc = info.localDescription;

导一下试试?


查看完整回答
反对 回复 2019-03-26
  • 4 回答
  • 0 关注
  • 417 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信