JavaScript如何处理继承?
我遇到了为继承提供代码的:JavaScript如何处理继承?,javascript,node.js,Javascript,Node.js,我遇到了为继承提供代码的: module.exports = function(db) { this.db = db; }; module.exports.prototype = { extend: function(properties) { var Child = module.exports; Child.prototype = module.exports.prototype; for(var key in properties) {
module.exports = function(db) {
this.db = db;
};
module.exports.prototype = {
extend: function(properties) {
var Child = module.exports;
Child.prototype = module.exports.prototype;
for(var key in properties) {
Child.prototype[key] = properties[key];
}
return Child;
},
setDB: function(db) {
this.db = db;
},
collection: function() {
if(this._collection) return this._collection;
return this._collection = this.db.collection('fastdelivery-content');
}
}
Child.prototype=module.exports.prototype需要什么代码>?因为子模块是module.exports,所以它应该具有相同的原型。那我们为什么要这样做
这段代码实际上没有多大意义。你到底在哪里找到的,你能分享一个链接吗?我不会使用这些技术。教程真的很糟糕!使用另一个。关于(1)你完全正确。我已经更新了链接。请看一看。本教程中的单元测试断言新属性/方法已添加到新类中。。。但它没有任何测试会注意到新类与旧类相同,而旧类只是被意外修改过。即使他们的控制器扩展单元测试(使用实际工作的非继承扩展代码)会注意到这一点。作者似乎不理解JavaScript中的引用/指针语义。(除非我也误解了什么…@jermy Banks是的,我可以在那个教程的评论部分看到这个问题。可能是教程不完全正确。但由于我对nodejs还不熟悉,我一直在想我不会明白。