gpt4 book ai didi

JavaScript:分别声明和定义函数?

转载 作者:行者123 更新时间:2023-11-29 20:22:06 27 4
gpt4 key购买 nike

如果我想给一个 JavaScript 变量全局作用域,我可以很容易地做到这一点:

var myVar;

function functionA() {
myVar = something;
}

是否有一种类似的简单明了的方法——无需创建对象——来分离嵌套函数的“声明”和“定义”?像这样的东西:

function functionB;       // declared with global scope

function functionA() {

functionB() { // nested, would have local scope if declared here
CODE;
}
}

我应该澄清一下,我指的是函数名称本身的范围——这样如果它在 iframe 中,就可以从父文档中的脚本中调用它。 (与嵌套函数内的变量范围无关。)

最佳答案

您可以通过在 window 对象上创建实例来创建全局变量和函数:

function _A()
{
// scoped function
function localFunctionInTheScopeOf_A()
{
}

// global function
window.globalFunctionOutsideTheScopeOf_A = function ()
{
};
}

不过,对于您的情况,您需要做的就是:

var myFn; // global scope function declaration

function randomFn()
{
myFn = function () // global scope function definition
{
};
}

注意:阻塞全局范围绝不是一个好主意。如果可以的话;我建议您重新考虑您的代码是如何工作的,并尝试封装您的代码。

关于JavaScript:分别声明和定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3483681/

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