了解AngularJS中$ scope的层次结构?

时间:2016-12-16 14:03:29

标签: javascript angularjs angularjs-scope

当我创建一个对象并浏览它的_proto__属性时,我知道它已经从Object继承了

enter image description here

现在,当我创建一个新对象并继承obj对象时,我得到了这样的继承结构 enter image description here

在这里,我可以理解,对象obj1是从对象obj继承的,而对象obj是从对象Object继承的,对象是全局对象。

现在我的问题是,当我在我的控制台中调试时,我得到obj和obj1作为对象但是当我调试angularJS的$ scope我得到这样的东西

enter image description here

为什么$ scope返回b而不是Object,这可以在上面的所有两个图像中看到,angularJS有什么不同,我错过了什么。

更新1

当我在javascript中创建构造函数的对象时,我在构造函数中获取函数名称,如下图所示

enter image description here

但是在$ scope的情况下,我看不到构造函数,为什么呢?我错过了什么,请告诉我

2 个答案:

答案 0 :(得分:2)

这是因为您正在调试缩小的应用程序。

$scopeinternal Scope or ChildScope class的实例。

在缩小的Angular bundle中,类被称为b

答案 1 :(得分:1)

在控制台中检查对象时,它会被此对象的类名引用,例如:

function Scope() {}
var s = new Scope();

enter image description here

在您的情况下,代替function Scope() {},在缩小版本中代码看起来像function b() {}new b()代替new Scope()