是否有可能比Javascript中的构造函数更早地删除类的方法?
类似的东西:
MyObj.prototype.fcn = function () {};
MyObj = function () {};
那是因为我想将实例方法分离到另一个文件,但最好比使用构造函数的文件更早加载该文件。
最好的解决方案是,如果它不依赖于首先加载哪个文件。
提前致谢。
答案 0 :(得分:1)
<强> EDITED 强>
这是原型继承的基本实现。您可以在“文件1”中创建构造函数并向其添加属性。然后在“文件2”中,您可以继承早期创建的构造函数中的属性,如下所示:
// File 1
var Dummy = function () { /* A */}; // Dummy needs to be able to refer globally
Dummy.prototype.methodA = function () {alert(this.constructor);};
// File 2
var BConstructor = function () { /* B */};
BConstructor.prototype = new Dummy(); // Include properties of Dummy too
BConstructor.prototype.methodB = function () {alert(this.constructor);}; // Create more properties if needed
BConstructor.prototype.constructor = BConstructor; // Make sure BConstructor will be the constructor of future-created objects
var a = new BConstructor();
a.methodA();
a.methodB();
答案 1 :(得分:0)
无法改变尚未定义的对象的原型。
答案 2 :(得分:0)
在文档准备就绪后,尝试延迟设置原型方法。