browserify和类javascript原型继承
因此,我使用browserify来管理我正在从事的项目的模块 每个文件都包含以下内容:browserify和类javascript原型继承,javascript,prototype,easeljs,browserify,Javascript,Prototype,Easeljs,Browserify,因此,我使用browserify来管理我正在从事的项目的模块 每个文件都包含以下内容: module.exports = function(){ // class constructor } 然后,在main.js文件中,我创建了如下新对象: var Foo = require('./foo.js'); var foo = new Foo(); Foo.prototype = new Bar(); Foo.prototype.constructor = Foo; Foo = funct
module.exports = function(){
// class constructor
}
然后,在main.js文件中,我创建了如下新对象:
var Foo = require('./foo.js');
var foo = new Foo();
Foo.prototype = new Bar();
Foo.prototype.constructor = Foo;
Foo = function(){
Bar.call(this)
}
var inherits = require('inherits');
var Bar = require('./bar');
function Foo() {
Bar.call(this);
}
inherits(Foo, Bar);
Foo.prototype.myThing = function () { ... };
module.exports = Foo;
问题是,我不知道如何在这个设置中使用原型继承。
通常,如果我希望类Foo从类Bar继承,我会这样做:
var Foo = require('./foo.js');
var foo = new Foo();
Foo.prototype = new Bar();
Foo.prototype.constructor = Foo;
Foo = function(){
Bar.call(this)
}
var inherits = require('inherits');
var Bar = require('./bar');
function Foo() {
Bar.call(this);
}
inherits(Foo, Bar);
Foo.prototype.myThing = function () { ... };
module.exports = Foo;
如果不使用browserify,我将如何做这些事情?
我想我可以用module.export替换所有的foo,但是我试图从easeljs继承一些东西,但是它不起作用。这意味着“this”没有在容器的初始值设定项中定义
提前谢谢 我认为应该更像这样:
var Bar = require('./bar');
function Foo(){
//...
}
Foo.prototype = new Bar();
Foo.prototype.constructor = Foo;
module.exports = Foo;
请注意,您不需要在Foo中再次调用Bar,因为它已经被调用过一次。对于browserify,我建议使用该模块 它避免创建Bar实例来设置原型,执行构造函数赋值,还提供了超级类访问 您的用例如下所示:
var Foo = require('./foo.js');
var foo = new Foo();
Foo.prototype = new Bar();
Foo.prototype.constructor = Foo;
Foo = function(){
Bar.call(this)
}
var inherits = require('inherits');
var Bar = require('./bar');
function Foo() {
Bar.call(this);
}
inherits(Foo, Bar);
Foo.prototype.myThing = function () { ... };
module.exports = Foo;
非常感谢,我已经将另一个标记为关于require模块的正确信息,但这非常有效;正确:Foo.prototype=Object.createBar.prototype;