我有一个函数“alpha”,里面还有另一个函数“beta”。如果我不在 alpha 中返回 beta,那么如何访问 beta。反正有这样做吗? (比如,我可以访问 alpha 编写 window.alpha(),因为在全局上下文中 alpha 成为窗口对象的属性,那么如何通过窗口 dom 树访问 beta 作为属性)?
<html>
<head></head>
<body>
<script>
function alpha() {
console.log("hi");
function beta() {
console.log("hello");
}
}
alpha(); //works
window.alpha(); //works
beta(); //it is directly not accessible. How to access it if alpha does not return it
</script>
</body>
</html>
alpha() 在 Window Dom 中,但为什么不在 beta 中? (即使不在 alpha 内)
最佳答案
通常你不能做这件事,你也可以选择这些选项,但在这些选项中你必须调用一次 alpha
才能获得 beta
//第一个选项
(function alpha() {
console.log("hi");
function beta() {
console.log("hello");
}
window.beta = beta;
})()
//第二个选项
使用 this
创建 beta
作为 alpha
中的属性
function alpha() {
this.beta = function() {
console.log("hello");
}
}
let alphaObject = new alpha();
alphaObject.beta();
关于javascript - 如何在不返回内部函数的情况下访问函数内部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790494/