gpt4 book ai didi

javascript - 为什么我得到这个闭包的值 "result"?

转载 作者:行者123 更新时间:2023-11-29 18:26:52 26 4
gpt4 key购买 nike

假设我有这段代码 ( fiddle ) 用于内存模块:

var chat = {
// Create this closure to contain the cached modules
module: function() {
// Internal module cache.
var modules = {};
console.log('in module:', name); // <---------- "in return: result"
// Create a new module reference scaffold or load an
// existing module.
return function(name) {
console.log('in return:', name); // <---------- "in return: derp"
// If this module has already been created, return it.
if (modules[name]) {
return modules[name];
}

// Create a module and save it under this name
return modules[name] = { Views: {} };
};
}()
};

chat.module("derp");

代码中甚至没有提到短语“result”。为什么它会在第一个控制台日志中返回该值?

此外,当 module: function() {} 声明中没有指定参数时,返回函数如何获取 name 参数的值?

最佳答案

console.log('in module:', name);

您在声明name 之前就记录了它。所以它使用 window.name相反。

关于javascript - 为什么我得到这个闭包的值 "result"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165693/

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