转载来自:https://cloud.tencent.com/developer/article/1694105
全局变量
函数外+var定义
没有使用var 直接使用
用window定义
局部变量:
使用var再函数内
重名的话
1.在过程体内(包括方法function(){},对象Object o={})内的对象)加var保留字则为局部变量,其他情况下都是全局变量(无论是否使用var。不进行声明而直接使用全局变量会报错(可以隐式声明),而局部变量先使用后声明则不会报错,只是值为undefined。
2.全局变量跟局部变量重名时,局部变量的范围会覆盖掉全局变量的范围,当离开局部变量的范围后,又重回到全局变量的范围。(若想指定是全局变量可以使用 window.globalVariableName。
3.Javascript允许在函数的任意地方声明变量,无论在哪里声明,效果都等同于在函数顶部进行声明。
4.使用 var 创建的变量不能使用 delete 释放内存,其他方式创建的变量可以使用 delete 释放内存。