gpt4 book ai didi

javascript - JS如何对待函数参数?

转载 作者:行者123 更新时间:2023-11-30 09:52:44 24 4
gpt4 key购买 nike

我知道在 js 中函数是对象,据我所知对象有属性和方法。但我不知道 JS 引擎如何处理函数参数?(因为它们不像属性那样可访问)。
在下面的代码中:

function func(parameter1) {
console.log(parameter1);
};
func();

我不明白为什么结果应该是“未定义的”。 js引擎是否将参数视为变量?如果是这样,他们的变量环境是什么?
另一件事让我感到困惑:下面的匿名函数是在哪里创建的?它在哪里举行?并且可以稍后在代码中访问它吗?

function a(par1) {
par1();
}

a(function() {console.log("Hello");)

抱歉英文,感谢您的帮助。

最佳答案

参数是在处理的编译阶段在函数范围内声明的变量。

您得到的未定义结果意味着变量存在,但还没有值。未定义是它的默认值。

阅读此处了解更多信息 https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20&%20closures/ch2.md

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/undefined

编辑:忘记了你的第二个问题。

匿名函数是在全局范围内创建的(如果它们不在另一个范围内)并且您不能再次调用它们

关于javascript - JS如何对待函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35518208/

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