1

我在搜索 Chrome 开发工具中对象前面的字母是什么意思时遇到了一个问题。

就我而言,我在 AngularJS 中的变量m前面有字母。$scope例如:

vm
m {$id: 1520, $$childTail: m, $$childHead: b, $$prevSibling: m, $$nextSibling: null, …}

在此处输入图像描述

因此,上述链接的问题得出以下结论:

它是用于创建模型对象的构造函数的名称。

这个结论带来了几个问题。我相信它们彼此紧密相连,因此我决定为所有这些问题创建一个问题。

  1. 普通 JS 对象和模型对象有什么区别?

  2. 普通 JS 对象的构造函数和模型对象的构造函数有什么区别?

  3. 为什么 Chrome 决定为模型对象添加字母,而决定避免为普通的 JS 对象这样做?

更新

在对问题发表第一条评论后,我决定尝试以下示例:

function A() {}
 *undefined*
new A()
 *A {}*
{}
 *{}*

在此处输入图像描述

这有助于我理解对象前面的字母只是构造函数的名称。我的理解正确吗?

4

0 回答 0