我正在尝试向现有JS框架(Wireit)中的类树添加新属性。有关详情,请参阅此处:Javascript: Is it possible to inject new functions into a base 'class/object' that will be available in all sub-'classes/objects'?
我最初的方法是重新定义基类,但事实证明这很棘手。
我现在想知道我是否可以对基类进行子类化,添加我的扩展,然后重新子类化扩展基类的类以使用我的基类。复杂?我会做一个简单的图表来表明我的意思....
Container --> ImageContainer
Container --> FormContainer
Container --> MyContainer --> ImageContainer
Container --> MyContainer --> FormContainer
这可能吗?
答案 0 :(得分:0)
只需添加guid
作为方法即可完成。
Container.prototype.GUID = function() {
return GUIDSystem.getGUID(this);
}
编写您自己的GUIDSystem以返回每个对象的唯一GUID。
提示:使用WeakMap,WeakMap填充程序和地图中的GUID的延迟填充。