javascript - 代码的哪一部分执行内部函数?
问题描述
我在其中一个在线测验中遇到了这个问题。我想出的解决方案是function。但是,控制台记录number。
var f = (
function f(){return "1";},
function g (){return 2;}
)();
console.log(typeof f);
我的想法是:var f
成为一个 IIFE,所以typeof f
应该是一个函数。
现在,显然,function g()
insidevar f
执行并将其值返回给var f
,因此控制台记录数字(或 2,如果我只是 log f
)。
问题:
1.函数逗号anotherFunction的解释是什么。这不是一个对象,也不是一个变量声明(如 var x, y;)?
2.不知何故,第二个函数是被返回的函数,但代码的哪一部分实际上正在执行它?
(我认为()
就在console.log
调用执行外部f
函数之前(它应该只定义内部函数f()
和g()
,但不执行它们中的任何一个)。第二个被执行,所以,显然,我错了。
解决方案
推荐阅读
- python - Python Flask 无法通过 CORS
- heroku - 在免费计划用户达到 1,000 个免费测功小时后,heroku 如何向他们收费?
- javascript - 需要帮助将 javascript 数组内容添加到现有的 HTML 代码中
- awk - 如何将文件中的字段 = 值与 Awk 匹配?
- python - python setuptools 可编辑安装与并行构建
- flutter - 如何在 FLUTTER 中关闭没有按钮的警报对话框
- android - cmake 不会创建 build.ninja
- opencv - OpenCV CMake 配置选项:INSTALL_TO_MANGLED_PATHS
- mongodb - Mongo groupby 三个字段,获取一个字段的唯一计数
- android - 如何收听用户授予或拒绝“请勿打扰”权限?