gpt4 book ai didi

javascript - 为什么我可以引用一个尚未在 Javascript 中定义的变量?

转载 作者:行者123 更新时间:2023-11-30 07:43:10 24 4
gpt4 key购买 nike

在此处创建函数 foo 时,我引用了一个尚未声明的变量 fromTheFuture。这确实可以按预期工作,但是为什么?它被认为是危险的或不良的做法吗?

var foo = function(x) {
return fromTheFuture * x;
};

var fromTheFuture = 5;

console.log(foo(10));

我认为这非常方便,如果您有多个函数想要以循环方式相互使用 - 无需在方法开头使用 var 声明它们。

最佳答案

在调用 foo 时,定义了 fromTheFuture。更准确地说,由于提升,您的代码本质上是:

var foo, fromTheFuture;
foo = function(x) {return fromTheFuture*x;};
fromTheFuture = 5;
console.log(foo(10));

如果您在 fromTheFuture=5 之前调用 foo(10),您将得到 NaN

关于javascript - 为什么我可以引用一个尚未在 Javascript 中定义的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12331919/

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