让我说我有一个
<!DOCTYPE html>
<html>
<head>
<title>Eucalyptus</title>
</head>
<body style="background-color: #FFE11A">
<div id="gore" style="background-color: #BEDB39">gore
<button id="prvi" style="width: 50px; height: 50px; border-radius:10px;">Kurac</button>
<div id="drugi">Drekec</div>
</div>
<div id="dolje">dolsdasdje</div>
<script>
var AAA1 = 1;
(function(a, b) {
var AAA3 = a + b;
AAA2 = a * b;
})(10, 10);
</script>
</body>
</html>
我显然可以看到window.AAA1
和window.AAA2
,但AAA3在哪里?
是否有可能以某种方式挂钩它并从控制台动态编辑它,或者它只是在机器代码中的某个地方混乱而且不再可访问?
答案 0 :(得分:3)
AAA3
是local
变量,无法在function
或当前范围之外访问。
变量声明,无论它们出现在何处,都会在执行任何代码之前进行处理。用var声明的变量的范围是它的当前执行上下文,它是封闭函数,或者对于在任何函数外部声明的变量,是全局的。
详细了解JavaScript变量的范围:
Stackoverflow JavaScript Variable scope
<强>编辑:强>
看着Javascript Global Variables。它有很多可能对您有用的信息。
答案 1 :(得分:1)
在功能范围或全局范围内创建的JavaScript变量。
此处 var AAA3 在功能范围内创建,并存储在堆栈内存中。
一旦函数执行完成,就会弹出在堆栈上为该函数创建的数据段,并释放本地变量的内存保持。 因此,在函数执行完成后它们不可用。
答案 2 :(得分:0)
它包含在创建它的函数的范围内。如果您希望在全局范围内访问它,请执行window.AAA3 =&#39; ??&#39;;
有关JavaScript范围的概述,请参阅此其他答案: