我需要在库中创建一个函数。然后,我需要知道该功能是否就是这种类型。

Y或多或少通过以下方式创建函数:

function createSpecialFunction(somedata) {
    return function thisIsMySpecialFunction(...args) {
      ...
    }
}

const mySpecialFunction = createSpecialFunction(somedata)


然后,我需要一种方法来确定是否使用mySpecialFunction创建了createSpecialFunction。就像是

mySpecialFunction instanceof createSpecialFunction // true
(()=>{}) instanceof createSpecialFunction // false

最佳答案

在正在创建的函数对象中保存一些标志:

function createSpecialFunction(somedata){
    let thisIsMySpecialFunction = function(...args){
       ...
    }
    thisIsMySpecialFunction.createdByMe = true;
    return thisIsMySpecialFunction;
}


检查它是否由您这样创建:

if( fun.createdByMe ){

}

10-08 01:20