局部变量去哪儿了?
Where do local variables go?
假设我有一个
<!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 在哪里?
是否有可能以某种方式挂钩它并从控制台即时编辑它,或者它是否只是在机器代码中的某个地方混乱而无法再访问?
它包含在创建它的函数的范围内。如果您希望它在全球范围内可访问,请执行 window.AAA3 = '??';
有关 JavaScript 范围的概述,请参阅此其他答案:
What is the scope of variables in JavaScript?
AAA3
是一个 local
变量,不能在 function
或当前范围之外访问。
Variable declarations, wherever they occur, are processed before any code is executed. The scope of a variable declared with var is its current execution context, which is either the enclosing function or, for variables declared outside any function, global.
在以下位置了解有关 JavaScript 变量范围的更多信息:
Whosebug JavaScript Variable scope
已编辑:
看过Javascript Global Variables。它有很多可能对你有用的信息。
In JavaScript 在函数范围或全局范围创建的变量。
这里 var AAA3 是在功能范围内创建的,它存储在堆栈内存中。
一旦函数执行完成,栈上为该函数创建的数据段被弹出,局部变量的内存占用被释放。
因此,函数执行完成后,它们将不可用。
假设我有一个
<!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 在哪里?
是否有可能以某种方式挂钩它并从控制台即时编辑它,或者它是否只是在机器代码中的某个地方混乱而无法再访问?
它包含在创建它的函数的范围内。如果您希望它在全球范围内可访问,请执行 window.AAA3 = '??';
有关 JavaScript 范围的概述,请参阅此其他答案:
What is the scope of variables in JavaScript?
AAA3
是一个 local
变量,不能在 function
或当前范围之外访问。
Variable declarations, wherever they occur, are processed before any code is executed. The scope of a variable declared with var is its current execution context, which is either the enclosing function or, for variables declared outside any function, global.
在以下位置了解有关 JavaScript 变量范围的更多信息:
Whosebug JavaScript Variable scope
已编辑:
看过Javascript Global Variables。它有很多可能对你有用的信息。
In JavaScript 在函数范围或全局范围创建的变量。
这里 var AAA3 是在功能范围内创建的,它存储在堆栈内存中。
一旦函数执行完成,栈上为该函数创建的数据段被弹出,局部变量的内存占用被释放。 因此,函数执行完成后,它们将不可用。