javascript 函数的参数 是局部变量吗

JavaScript06

javascript 函数的参数 是局部变量吗,第1张

函数的参数是在函数内部可用的,是局部变量

但如果参数是个数组或对象(引用类型),则函数内部是可以影响到外部传参之前的变量的值

JavaScript函数传参传递的仍然是值传递,而不是引用传递

方法里面定义的叫做局部变量,有一个作用域。在外面是访问不了的,但是如果需要就定义成全局变量。如非必要不太建议使用过多的全局变量。

内部变量

function test(){

    var temp ="AAA"

}

window.alert(temp)//这是访问不了temp的

全局变量

var temp ="AAA"

function testA(){

    window.alert("testA_"+temp)//可以访问

}

function testB(){

    window.alert("testB_"+temp)//可以访问

}

window.alert(temp)////可以访问

原因如下:

1、函数里面的变量不是全局变量,函数内部声明的变量一定是局部变量,所以想要外部访问是无法直接访问到的,请规范全局变量和局部变量的定义。

2、外部想要访问函数内的变量可以采用闭包来实现,代码实例如下:

     functiontest(){

     var x=10

     return function(){

         return x

     }

 }

//调用局部变量x,报错未定义

 alert(x)

   // 调用

       vara=test()

        alert(a())

这样可以实现外部访问内部变量。