因此,假設我在骨幹類:確定是否JavaScript類擴展了另一個類
var MyModel = Backbone.Model.extend({});
使用instanceof運算符,我可以檢查一個實例化對象是否延長的對象:
var instModel = new MyModel();
instModel instanceof MyModel; // true
instModel instanceof Backbone.Model; // true
我d喜歡能夠在不實例化對象的情況下檢查繼承。在JavaScript或Backbone中是否有一種方法來確定未被實例化的類是否擴展了對象?因爲:
MyModel instanceof Backbone.Model; // false
MyModel instanceof Function; // true
好的解決方案。我知道這一定很簡單。爲了澄清未來的讀者,這忽略了一個大案例。 'MyModel.prototype instanceof MyModel'會失敗。所以一個健壯的生產檢查看起來像'(testModel!== ClassToCheck)&&(testModel.prototype instanceof ClassToCheck)' – stakolee 2014-08-27 17:20:34
@stakolee真的!我想添加一個關於該選項的註釋並選擇不要,但是自從您提到它以來,我已經用兩個選項更新了答案。 – loganfsmyth 2014-08-27 20:40:29