

为什么'minderAll'里面有一个对象叫 'minder',但是 log 出来的是{}


为什么'minderAll'里面有一个对象叫 'minder',但是 log 出来的是{}
|
ZLY201Dec 9, 2022
1
为了提高浏览器性能,console.log 是异步的,试试 console.log(JSON.stringify(obj.minder));
|
|
NerbraskaGuyDec 9, 2022
2
打印对象的只是对象的引用,像楼上说的那样先字符串化
|
|
3
@zilongyao1366 这样也是{}
|
|
ochatokoriDec 9, 2022 via Android
4
打印出来的{}就是那个 Minder 对象啊,可以理解成是 Minder 类的实例,console 给你显示出来类名而已
|
|
5
@ochatokori 那我怎么获取到 minder 对象的属性呢
|
|
wangtian2020Dec 9, 2022
6
你控制台看到的第一条输出 minderAll 里的 minder
和第二条输出不是同一个对象 在你打印代码之后,你看到输出之前,改变了引用 你可以试着在 return 之前加一个 debugger ,这样子可以停下代码执行 我猜的 |
|
hidemyselfDec 9, 2022
7
不能相信 console,你想看的话得 debug
|
|
8
@wangtian2020 确实不是一个对象 我找找原因
|
|
longjiahuiDec 9, 2022
9
@Guidoo 是不是在原型链上啊、所以就看不到了。
|
|
longjiahuiDec 9, 2022
10
顺着原型链一直点开?
|
|
dcsuibianDec 9, 2022
11
你这个 Minder 类有啥字段啊?
看看 PropertyDescriptor ,是不是 enumable 属性为 false 的? |
|
acthtmlDec 9, 2022
12
{} 表示此实例没有属性方法...
|
|
acthtmlDec 9, 2022
13
class Minder {}
let a = new Minder(); console.log(a); // Minder {} |
|
AV1Dec 9, 2022
14
用断点调试吧
|
|
IvanLi127Dec 9, 2022
15
Vue 开发者经典疑惑之一,我见过太多太多。。。。
|
|
ochatokoriDec 9, 2022 via Android
16
@Guidoo #5 如果原型链只有一层 minderAll.minder.__proto__
|
|
lmshlDec 9, 2022
17
|
|
likesodaDec 10, 2022 via iPhone
18
console.log 打印的是对象快照,当展开对象时会重新获取对象
|