gpt4 book ai didi

javascript - 识别此 javascript 函数的模式

转载 作者:行者123 更新时间:2023-11-30 08:05:00 25 4
gpt4 key购买 nike

这是我无法理解的 javascript 函数的简要模式。这是在这里看到的: https://github.com/g13n/ua.js/blob/master/src/ua.js .

注意:这是根据 HugoT 对我的原始问题答案的回复编辑的版本。

function D(arg) {
return function () {
return arg > 10; //arg is captured in this function's closure
}
};

object = {
x: D(11),
y: D(9),
z: D(12)
};

那么这个结构是如何工作的呢?我可以看到返回是一个对象。但我不能把这些东西放在一起。这是闭包模式吗?谁能解释流程?

最佳答案

是的,这是一个闭包模式。传递给 D 的任何参数都在从 D 返回的函数的闭包中捕获。但是,您编写的内容与您链接的代码中的内容不同。

这是您链接简化的代码的重要部分

function D(arg) {
return function () {
return arg > 10; //arg is captured in this function's closure
}
};

object = {
x: D(11),
y: D(9),
z: D(12)
};

值 11、9 和 12 将在函数 object.xobject.yobject.z 中捕获。

因此 object.x() 将返回 true 而 object.y 将返回 false 因为 9 > 10 为 false。 object.z() 将返回 true 因为 12 > 10

关于javascript - 识别此 javascript 函数的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19477154/

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