1. 暗示全局变量
未声明的变量称为暗示全局变量。
var a = 1; //函数体外声明的变量称为全局变量
b = 2; // 无论函数体外或函数体内未声明的变量都称为暗示全局变量
function fn() {
var c = 3; //函数体内声明的变量称为局部变量
d = 4; // 暗示全局变量
}
fn(); // 若不执行函数,则不会进行函数预编译,d 就不会提升为全局变量
console.log(c); // error: c is not defined
console.
这几天逛CSDN论坛,发现在一些前端模块发的问题大都是因为var、let和const搞不清楚导致的,今天我来浅析下,希望对看到这篇博客的童鞋有所帮助~
What we know is that…(英语作文万能开头) :在Javascr ipt中有三种声明变量的方式:var、let、const。
目录1.var2. let3. const
1.var
(1)var定义的变量在之后可以修改,如果不初始化会输出undefined,不会报错。
var a;
console.log(a); // u
Javascr ipt中的循环变量声明,到底应该放在哪儿?
习惯1:不声明直接使用
function loop(arr) {
for (i = 0; i < arr.length; i++) {
// do something
}
}
非常危险的使用习惯,一般情况下循环变量将成为window对象上的一个属性被全局使用,极有可能影响程序的正常逻辑实现。
需要着重提一下的是,在strict模式下,未声明变量而直接赋值的使用方式会直接抛出异常,早就该这么做啦!引用一下ecma-2