function test(a){
a=10; //**********
alert(a); // 弹出10
}
test(5);
alert(a); //报错 a is not defined
在函数体内,我写了a=10。我的理解是把10赋值给一个全局变量a,因为没有var的变量等同于全局变量。
我在函数体外,alert(a)却报错了:a is not defined。请问为什么我在函数体外不能访问到变量a呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为在
test里a是你的形参,形参实际上相当于函数内的一个局部变量;你在test内给a赋值是赋值给形参a。除非:
a不是全局变量,如果以下函数才是全局变量
就是2楼说的,形参实质是函数内的局部变量