gpt4 book ai didi

javascript - 是否可以调用 "parent"函数之外的函数?

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

我想知道是否可以调用其“父”函数之外的函数:

var $element = $( '.element' );

function myFunction( element ) {
var width;

function onResize() {
width = element.width();
}
onResize();
}

$( window ).resize(function() {
onResize();
});

控制台返回:Uncaught ReferenceError: onResize is not Defined我认为可以在函数外部定义它作为变量:

var variable;

$( window ).resize() {
variable = 1;
});
$( window ).resize();

如何在主函数之外定义它?

最佳答案

函数内声明的符号的作用域为该函数(以及任何嵌套函数),因此无法从该函数外部访问它们,尤其是因为,因为每次调用该函数都会创建这些符号的新版本值,在函数外部使用一个值会引发使用哪个的问题。

但是函数是对象,因此您可以获取对它们的引用,如果可以获取对它们的引用,则可以调用它们。您获取对 MyFunction 的特定调用所创建的 onResize 的引用的通常方法是从 MyFunction 中的代码使用它,或者让 MyFunction 返回对调用它所创建的 onResize 的引用:

function myFunction( element ) {
var width;

function onResize() {
width = element.width();
}
onResize();

return onResize;
}

$(window).resize(MyFunction());

关于javascript - 是否可以调用 "parent"函数之外的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25102879/

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