我使用John Resig的簡單javascript inheritance code來構建和擴展類。我喜歡他的例子一些類:確定一個函數是否使用Resig的簡單JavaScript繼承擴展另一個函數
var Person = Class.extend({
init: function(isDancing){
this.dancing = isDancing;
},
dance: function(){
return this.dancing;
}
});
var Ninja = Person.extend({
init: function(){
this._super(false);
},
dance: function(){
// Call the inherited version of dance()
return this._super();
},
swingSword: function(){
return true;
}
});
我想我可以通過一個變量的函數,如果變量是一個類,從Person
繼承,還是假的,如果它不是,它將返回true。
「從Person
繼承」我的意思是它是通過調用Person的.extend()
函數或從Person
繼承的類創建的。
如果我有一個類的實例,我可以使用instanceof來確定類是否繼承自Person
。有沒有辦法做到這一點沒有創建實例?
謝謝!
他的擴展實際上只是複製屬性,不涉及任何繼承。我擔心你的任務是不可能的,除非是靜態分析師或某種昂貴的反射嗅探。 – dandavis