在这里,我不明白当我var在函数中使用 before 变量时会发生什么,它给了我不同的输出,并且不使用var也得到了不同的输出
这是一段代码,您可以轻松地弄清楚发生了什么
function value() {
var m = 8; //here i am using var as a datatype
console.log(m)
}
m = 7
console.log(m);
value();
console.log(m);Run Code Online (Sandbox Code Playgroud)
而且当我删除 var 或不使用值函数中的任何数据类型时,我得到了不同的输出,这里是一个代码
function value() {
m = 8; //here i am not using var as a datatype
console.log(m)
}
m = 7
console.log(m);
value();
console.log(m);Run Code Online (Sandbox Code Playgroud)
谁能告诉我发生了什么事吗?谢谢您的宝贵时间
看看 w3school 的JavaScript Scope。
下面是全局变量和局部变量区别的示例代码。
function value() {
// local variable in value()
var m = 8;
console.log("in value() : " + m)
}
function value2() {
// set global variable as 9
m = 9;
console.log("in value2() : " + m)
}
// global variable
m = 7
console.log("before value() : " + m);
value();
console.log("after value() : " + m);
value2();
console.log("after value2() : " + m);Run Code Online (Sandbox Code Playgroud)
下面是另一个案例来显示范围的差异:
m = 7;
function v(){
var m = 6;
v2();
function v2(){
console.log("in v2 : " + m);
v3();
}
}
function v3(){
console.log("in v3 : " + m);
}
v();Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |