了解闭包是否提供方法(JavaScript模块模式)

了解闭包是否提供方法(JavaScript模块模式),javascript,closures,Javascript,Closures,给定以下代码,是否有任何方法可以检测通过调用fn()返回的闭包是否包含给定的方法,而不必执行fn本身 //提供带有“execute”方法的闭包的示例函数。 var fn=函数(){ 返回{ 执行:函数(){ } }; }; //测试函数闭包中是否存在“execute”方法 如果(“函数”==typeof fn().execute){ 打印(“提供的功能包括执行方法”); }否则{ 打印(“提供的函数不包括执行方法”); } 谢谢 不,没有。如果没有返回值,则无法检查返回值菲利克斯·克林不,没

给定以下代码,是否有任何方法可以检测通过调用fn()返回的闭包是否包含给定的方法,而不必执行fn本身

//提供带有“execute”方法的闭包的示例函数。
var fn=函数(){
返回{
执行:函数(){
}
}; 
};

//测试函数闭包中是否存在“execute”方法 如果(“函数”==typeof fn().execute){ 打印(“提供的功能包括执行方法”); }否则{ 打印(“提供的函数不包括执行方法”); }


谢谢

不,没有。如果没有返回值,则无法检查返回值菲利克斯·克林

不,没有。如果没有返回值,则无法检查它。@JonnyReeves,您可能会发现此链接很有用
// Example function which provides a closure with an 'execute' method.
var fn = function () {
    return {
        execute: function () {
        }
    }; 
};

// Test for the presense of an 'execute' method in the function's closure if ("function" === typeof fn().execute) { print("supplied function includes an execute method"); } else { print("supplied function does not include an execute method"); }