我有一種情況,我需要檢查構造函數(X)是否在其原型鏈(或Y本身)中有另一個構造函數(Y)。 最快的方法可能是(new X()) instanceof Y。在這種情況下,這不是一個選項,因爲如果沒有有效的參數,實例化的構造函數可能會拋出異常。 下一個方法我已經考慮是這樣的: const doesInherit = (A, B) => {
while (A) {
if (A ===
我發現,如果我有以下幾點: var functionName = function(){console.log("this is a function!")}
調用functionName相當於functionName.prototype.constructor因爲他們都持有上述函數定義。 我想我只是想解釋一下如何將函數用作JavaScript中的對象,以及如何與原型繼承相關。這是一個很寬泛的
我在玩toString方法,當我嘗試重寫函數的toString方法時,我可以看到效果,當我嘗試console.log時。 http://jsbin.com/bigocijuqo/1/edit?js,console。 function greet(){
console.log("Hello!");
}
console.log(greet);
greet.toString = fun
我一直在Javascript中使用靜態方法進行實驗。我沒有從原型繼承對象,而是使用鴨子打字困難得多。 var Controller = {};
Controller.getData = function() {//return data};
// and then in use:
var page = route.getPage();
require([page], function(C
我知道如何使用它的原型來擴展一個完整的對象。但是,是否也可以擴展單一功能? var a = function(){}
a.prototype.test = function(p){
return p
}
var b = function(){};
b.prototype.test = Object.create(a.prototype.test);
var c = new