gpt4 book ai didi

Javascript 评估问题(第 2 部分)

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

(function () {
var x = 5;

(function () {
function f(y) { return (x+y)-2 };

(function () {
function g(h) { var x = 7; return h(x) };

(function () { var x=10; z=g(f); })();
})();
})();
})();

我正在解决类里面课本中的一些问题以准备我们的下一次考试,但无法弄清楚上面的评估结果。

大多数情况下,我不理解 z=g(f) 的调用,因为当计算 f 时,它没有提供参数,那么它是如何计算的呢?它怎么知道 y 是什么? g(f) 的计算结果是什么?

此外,就作用域而言,我相信 javascript 将大多数所有内容都视为全局变量,因此设置的最后一个 x 将是函数 f 中使用的 x 值,对吗?

感谢您的帮助!

请注意,这些是我正在练习准备考试的书后面的额外问题,这些不是直接的家庭作业问题。

最佳答案

g(f) 的这种情况下,函数 f 不会被评估,而是作为对象/值传递。函数是 javascript 中的值,可以这样传递。函数 g 随后通过表达式 h(x) 计算函数 f(因为 f 作为参数 h)

这里有一个更直接的例子

var addOne = function(x) { return x+1; }
var f = addOne;
var value = f(4); // Returns 5

关于Javascript 评估问题(第 2 部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228166/

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