gpt4 book ai didi

Javascript 直接使用函数和使用从另一个函数返回的函数

转载 作者:行者123 更新时间:2023-12-03 02:46:32 25 4
gpt4 key购买 nike

出于纯粹的好奇心,我看到了如下代码

let GlobalActions = function () {

let doSomething= function () {
//Do Something
};

return {
doSomething: function () {
doSomething()
}
};
}();

GlobalActions.doSomething();

起初,我认为这是关于作用域的,也许 var 从外部声明的变量在初始化后无法从内部的每个函数访问;然而,事实并非如此。

然后我想到,执行上述操作而不是执行以下操作有什么好处?

let GlobalActions = {

doSomething: function () {
//Do Something
};

};

GlobalActions.doSomething();

最佳答案

在我看来像The Revealing Module Pattern .

本质上,返回的对象为整个类提供了“API”接口(interface)。然后我们可以选择哪些内容公开,哪些内容保持私有(private)。例如。

var myRevealingModule = (function () {

var privateVar = "Ben Cherry",
publicVar = "Hey there!";

function privateFunction() {
console.log( "Name:" + privateVar );
}

function publicSetName( strName ) {
privateVar = strName;
}

function publicGetName() {
privateFunction();
}

// Reveal public pointers to
// private functions and properties

return {
setName: publicSetName,
greeting: publicVar,
getName: publicGetName
};

})();

myRevealingModule.setName( "Paul Kinlan" );

关于Javascript 直接使用函数和使用从另一个函数返回的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48070589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com