了解Javascript 变量

javascript语言变量的作用域可以分为局部变量全局变量

函数内部定义的变量为局部变量,作用范围在整个函数体内,函数外定义的变量为全局变量,如果在函数内部定义变量时没有使用关键字var,那么该变量默认为全局变量

1.变量必选先定义后使用.

//alert(a)  //定义之前使用 会提示未定义
var a=23   //使用关键字 var 
b=34       // 未使用关键字 var 定义

2.同名同作用域的变量,后定定义的变量会覆盖之前定义的变量.

var a = 23;
var a = 34;  //会覆盖之前的定义

3.同名不同作用域的变量,局部变量在其作用范围内会覆盖全局变量

var a = 23
function fn(){
  var a = 22;
  alert(a);    
}
fn();         //显示 22
alert(a);  //显示 23

4.全局变量都是windows对象的属性

var x=23;
alert(window.x)  //显示23

5.没有块作用域,所以应该避免在全局范围内使用for的同时声明变量,否则会导致全局范围的命名污染

for(var i=0;i<5;i++)
{
    
}
alert(i)  // i等于5
原文地址:https://www.cnblogs.com/answercard/p/3334571.html