在开发 JavaScript 时,我倾向于将 JavaScript 代码分离到不同的文件中,然后运行脚本来连接文件并压缩或打包生成的文件。最后,我有一个文件需要包含在我的生产站点中。
这种方法通常有效,但我开始遇到原型继承问题。具体来说,如果一个类继承自另一个类,则需要已经包含父类的文件才能使继承工作。如果我使用的连接脚本只是连接一个充满文件的目录,则子类可能出现在父类之前的代码中。像这样:
parent_class.js
var Namespace = Namespace || {};
Namespace.Parent = function () { };
Namespace.Parent.prototype.doStuff = function () { ... };
child_class.js
var NameSpace = Namespace || {};
Namespace.Child = function () { ... };
Namespace.Child.prototype = new Namespace.Parent();
唯一可行的方法是在 child_class.js 之前包含 parent_class.js,如果连接脚本将子代码放在父代码之前,则可能不会发生这种情况。
有没有办法编写此代码以使功能相同,但编写代码的顺序不再重要?
编辑:我忘记了我也在使用命名空间,所以我也将它添加到代码中,这可能会改变一些事情。