gpt4 book ai didi

javascript - 评估 JavaScript 示例中的范围

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

看看这个“CoffeeScript - 加速 JavaScript 开发”示例:

(function() {
var age, reincarnate;

age = 99;

reincarnate = function() {
var age;
age = 0;
console.log("inner age:", age);
return age;
};

reincarnate();

console.log("I am " + age + " years old");

}).call(this);

为什么在这个例子中 age 打印出 99

reincarnate,一个闭包(据我所知)可以访问 age。为什么它的操作不会将 age 更改为 0?

最佳答案

由于 reincarnate() 包含:

var age;
age = 0;

它在自己的范围内重新声明了 age 变量。随后,名称 age 指的是"new"变量,而不是捕获的变量。

省略 var 关键字会导致捕获的 age 变量被修改。

关于javascript - 评估 JavaScript 示例中的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784119/

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