[英]JavaScript Function gives two different results at two different intervals of time
我试图查看这个问题,但不太明白为什么我的代码在延迟之前注销第一个分配并在延迟后注销第二个分配
let myName = 'John';
delayer();
myName = 'Robert';
function delayer() {
console.log(myName);
setTimeout(() => console.log(myName), 1500)
}
() => console.log(myName)
与function() { return console.log(myName); }
function() { return console.log(myName); }
. [1]
结果函数引用被传递给setTimeout
,它安排在指定的延迟后调用它。 setTimeout
在返回之前不会等待延迟发生。 它立即返回。 因此在调用匿名函数时myName
已更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.