1,全局变量:函数内没有变种声明,函数外有无变种都是全局变量
2,局部变量:函数内有VAR声明
(暂时的理解是这样的)
函数示例(){ total = num * num; //全局变量 回报总额; } var total = 50; //全局变量 var number = Example(); 警报(总);
上面的例子中本来是打算定义总,赋值,定义变量数调用示例()函数但是最后输出的结果是400。
因为第五行是赋值给变量total 50,但是下一步变量number调用的函数中也有一个未声明的变量total,也就成了全局变量跟下面的总变量是一样的,造成了example()函数返回的结果400覆盖了之前赋值给变量总的50,也就是函数中的全局变量影响了函数外的全局变量,这个函数改变了函数外那个相同变量的值如果代码是这样的:
函数示例(){ var total = num * num; //局部变量 回报总额; } var total = 50; //全局变量 var number = Example(); 警报(总);
这种情况下,再调用示例()函数时,函数内的局部变量便不会影响函数外的具有相同变量名的全局变量总,即调用函数后不会改变之前已经赋值过的变量总数的值(50),最后的输出结果为50。