javascript - 如何在不调用父函数的情况下调用子函数
问题描述
我在javascript中进行了一次面试。在我解释“闭包”的概念时,面试官问我以下问题。实际上需要在外部调用子方法而不调用父方法。可能吗?我无法理解这个问题的意图。任何人都让我知道是否可能
function parent(){
console.log("you called parent function")
function child(){
console.log("child");
}
}
解决方案
不调用child
函数就不可能调用parent
函数,不;直到/除非调用该函数,该child
函数才存在parent
。(另请注意,每次调用它都会创建一个不同的函数。) child
但是,如果您进行修改parent
以使其返回child
它创建的函数...
function parent(){
console.log("");
return function child(){
// ^^^^^^
console.log("child");
};
}
...您可以调用parent
一次,然后child
根据需要多次调用:
const c = parent(); // "you called parent function"
c(); // "child"
c(); // "child"
c(); // "child"
推荐阅读
- sql - Android SQLite根据(当前表+另一个表的总和)更新当前表
- reactjs - 无法在柏树中模拟 GET 请求
- typescript - NuxtJS Typescript click.native '无法读取 null 的属性'测试''
- c - 如何获得 va_arg(ap, char *) 的结果大小
- javascript - Shopware 6 中的热代理不会重新加载页面/CSS 或 JS 更改
- javascript - 我有一个未定义的函数,不知道为什么
- c++ - 读取文件时抛出异常
- sql - 获得每个用户的最低价值
- flutter - 颤动文本和文本字段小部件中的自动文本方向(基于输入的文本)
- javascript - 如何在浏览器的网络选项卡中隐藏 XHR 请求