JavaScript 有两种变量:全局变量和局部变量。有哪位高手能详细的解释下吗?

如题所述

在函数内部声明的变量只在这个函数内部可用,而在函数外面不可用。
全局变量就是在任何函数外面声明的或是未声明直接简单使用的。
每个JavaScript环境有一个全局对象,当在任意的函数外面使用this的时候可以访问到。创建的每一个全局变量都成了这个全局对象的属性。在浏览器中,方便起见,该全局对象有个附加属性叫做window,此window(通常)指向该全局对象本身。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-15
简单点说,全局变量就是定义在函数之外的变量,在页面中整个js代码都可以访问该变量。局部变量就是定义在js函数中的变量,只在其定义的函数内部可以访问,出了这个函数就访问不到了追问

一个局部变量的名称可以与某个全局变量的名称相同,但这是完全不同和独立的两个变量。因此,更改一个变量的值不会影响另一个变量的值。在声明局部变量的函数内,只有该局部变量有意义。能否解释下呢

追答

当局部变量和全局变量的变量名相同时,全局变量会被隐藏,所以在该函数内部直接访问的是局部变量,若要访问全局变量,可以使用 this.变量名

第2个回答  2015-10-15
全局变量就是你在整个类的起始位置定义了以后,整个类的任何方法都可以调用或赋值这个变量 。而局部变量则是只在某个方法或者某个循环体中定义的变量,只在这个方法或循环体中生效。 -----纯手写~追问

如果在任何函数定义之外声明了一个变量,则该变量为全局变量,且该变量的值在整个持续范围内都可以访问和修改。

如果在函数定义内声明了一个变量,则该变量为局部变量。每次执行该函数时都会创建和破坏该变量;且它不能被该函数外的任何事物访问。

局部变量一定要以var申明,否则是全局变量。这段话能否解释下呢

追答

这句话意思就是。如果你在一个js 方法(例如add()方法)里面,要调用全局变量a的话,语句为:a=1;但如果你要用局部变量的话,就是var a=1;
var就是定义变量类型的关键字,相当于java里面的String/int/long......

第3个回答  2015-10-15
你好

简单来说

全局变量 , 就是在程式全部范围内都能应用的变量
局部变量 , 指的是可在指定陈述式范围内应用的变量 , 例如

if( condition ){ .... }
while(condition){ .... }
function xx( param ){ .... }本回答被提问者和网友采纳
相似回答