我是新来的,所以我希望我不违反任何规则......
正是因为如此,我正在研究 JavaScript 中的对象继承......并且正在为这件事找出“我的”规则......现在我遇到了“一些”问题......
这就是我喜欢做的事情:
我喜欢有一个方法(函数),它更像是我正在创建的对象的标识符,这个方法也是对象的创建者......但是我也希望使用同一个对象来实例化创建的对象的“数据类型”(我想代码解释得更多……这是我坚持的部分)
TRecord = function() {
this.Class = 'TRecord';
F = function() {};
F.prototype = arguments[0]; //args is an object (se below)
return(new F());
};
TRecord.create = function(O) { // this method will not be executed as I like
if(O) alert(O.Class); // inside above object when define there with
<new O object created and returned - code missing>
}; // this.create = function(){};
// but if defined here it will, se below...
TMessage = TRecord({
'Class': 'TMessage',
'msgID': Number(0),
'data': Object('Hello')
});
aMSG = TRecord.create(TMessage); // the TMessage instance will be created
// with the above method... and
alert(aMSG.Class); // will output TMessage...
为什么我不能在 TRecord 中实现 TRecord.create 函数?
...我在发布整个 source.js 时遇到了一些麻烦(格式不起作用)所以这将不得不到期,但是我确实有一些其他构造函数/创建函数用于“真实”函数(类)对象而不是记录(数据对象)......有效 - 这些实现有点不同,支持深度继承......