【发布时间】:2016-04-28 16:16:57
【问题描述】:
【问题讨论】:
标签: backbone.js google-chrome-devtools
【问题讨论】:
标签: backbone.js google-chrome-devtools
它是用于创建模型对象的构造函数的名称。但是在这种情况下,Backbone 代码已被缩小。
如果您创建基础模型类的实例,它将被记录如下:
如果您查看Backbone source code,您可以找到构造函数定义:
var Model = Backbone.Model = function(attributes, options) {
但是,如果您的代码被压缩,对象将改为如下所示:
在您的情况下,您使用 Backbone 的扩展机制来创建一个从基本模型继承的新模型类型。
解压后显示如下:
再次,我们可以查看 Backbone 源代码以了解原因:
var extend = function(protoProps, staticProps) {
// ...
child.prototype.constructor = child;
// ...
return child
}
您可以看到,在创建新模型类型时,Chrome 无法访问您要用于模型的名称。相反,它会尽力从变量名中推断出正确的名称。
然后,压缩后,您将获得您在控制台中看到的单字符类名称:
【讨论】:
n 只是 child 的缩小名称。确切的名称将取决于使用的缩小器。