JS:为什么 "x" 变量的值未定义?
JS: Why value of "x" variable is undefined?
为什么下面示例中的 x
变量返回 undefined
而不是 25?
var x = 25;
(function() {
console.log(x);
var x = 10;
})();
这是 hoisting 在 javascript.The 代码中的常见问题实际上看起来 this.The 值是在 console.log
之后赋值的。
第二个未定义(如果 运行 在开发者工具上)是因为函数没有明确返回任何东西
由于 var
提升,这就是 Javascript 实际执行代码的方式:
var x = 25;
(function() {
var x;
console.log(x);
x = 10;
})();
它是 Self-Invoking Functions 将在不从特定函数或位置调用的情况下调用。并且您在该函数内声明的 x
并准备 运行 该函数使 javascript
忽略全局变量 x
并尝试创建本地 x
。如果您删除 var x = 10;
从里面的函数就可以了:
var x = 25;
(function() {
console.log(x);
})();
为什么下面示例中的 x
变量返回 undefined
而不是 25?
var x = 25;
(function() {
console.log(x);
var x = 10;
})();
这是 hoisting 在 javascript.The 代码中的常见问题实际上看起来 this.The 值是在 console.log
之后赋值的。
第二个未定义(如果 运行 在开发者工具上)是因为函数没有明确返回任何东西
由于 var
提升,这就是 Javascript 实际执行代码的方式:
var x = 25;
(function() {
var x;
console.log(x);
x = 10;
})();
它是 Self-Invoking Functions 将在不从特定函数或位置调用的情况下调用。并且您在该函数内声明的 x
并准备 运行 该函数使 javascript
忽略全局变量 x
并尝试创建本地 x
。如果您删除 var x = 10;
从里面的函数就可以了:
var x = 25;
(function() {
console.log(x);
})();