Chrome Devtools中的“child”是什么意思?

4
自从我第一次看到这个“子”注释以来,我就不明白:这是什么意思? enter image description here
1个回答

6

这里的“类型”是由控制台API推断出来的对象类型。通常情况下,它似乎是创建对象的构造函数的名称。例如:

enter image description here

控制台API和输出并没有标准化,因此环境可以随意处理。这不是JavaScript的特性,因此对于编写代码并不是真正相关的内容。
我只能想象其目的是当检查对象时,您可以更快地识别对象的“类型”。

Backbone似乎并非如此,因为它的代码中没有名为“child”的构造函数。 - Mikhail Batcer
可能有其他启发式算法控制台用于确定类型。这只是其中之一。再次强调,该行为标准化并且在不同环境中可能会有所不同。 - Felix Kling
在backbone.js中实际上有一个名为child的构造函数 - 它位于extend方法内部,用于生成对象。 - wOxxOm
是的,你们说得对。这个函数实际上并不叫做 child,它只是以那个名称保存在一个变量中(因此 typeof 返回 "object")。尽管如此,Devtools 仍然使用了那个名称 :) 真是有趣。 - Mikhail Batcer
2
@MikhailBatcer:typeof与此无关。这就是为什么我在括号中放置了“type”。它是浏览器控制台的纯信息/演示功能。然而,关于函数名称,如果将匿名函数表达式的结果分配给变量,则变量的名称成为函数的名称:var foo = function(){}; console.log(foo.name);。这是标准化的。 - Felix Kling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接