gpt4 book ai didi

javascript - 在 JavaScript 中将函数分配给变量

转载 作者:行者123 更新时间:2023-11-28 11:33:52 25 4
gpt4 key购买 nike

function abc(){
//multiple variables and functions
a:function(){alert("a")};
}
function test(){
var k=abc();
k.a();
}

在上面的例子中,我有一个巨大的函数 abc() 被分配给一个变量。我想从变量中调用可见的成员函数,例如 a() 。这是否可以实现,如果可以,请给我一个示例代码。

最佳答案

当您在函数后添加括号时,您会将函数的结果分配给变量。

如果你想给函数本身赋值,只需省略括号即可:

var k = abc;
k.a();

编辑

根据 @Kuba Wyrostek 的回答和 @Pointy 的评论,a() 函数将无法正确公开。

您需要查看 Module Pattern 。您需要做的是将一个函数分配给一个变量,并让该函数返回您希望能够在该函数外部使用的函数。这有助于封装

从评论中的代码中很难准确判断出什么是用户生成的代码,但我会尽力而为。

var abc = (function () {
var grabApi,
initialize;

// Just an example of how to assign an existing function
// to a property that will be exposed.
grabApi = SCORM2004_GrabAPI();

// This is an example of how to have a property that will be
// exposed be a custom function passing a parameter.
initialize = function(initString) {
return SCORM2004_GrabAPI().Initialize(initString);
};

return {
getApi: grabApi,
init: initialize
}
}());

然后您可以在整个代码中像这样使用这个 abc 对象。再次,这试图举例说明如何根据您的评论做我认为您正在尝试做的事情。

// Assign the SCORM2004_GrabAPI function to a variable.
var SCORM2004_objAPI = abc.getApi();

// Call the Initialize function with an empty string.
abc.init("");

关于javascript - 在 JavaScript 中将函数分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30507562/

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