示例 2 : 全局变量的作用域
一个参数的作用域就在这个函数内部,超出函数就看不见该参数了
<script>
function f1(a){
document.write('参数的作用域在函数以内,其值是 '+a);//参数a的作用范围,所以打印出来是5;
}
function f2(){
document.write('在函数里不能访问其他函数的参数'+a); //不在参数a的作用范围,是一个未声明的变量,无法打印
}
f1(5);
f2();
document.write('在函数外也不能访问'+a);//也不在参数a的作用范围,是一个未声明的变量,无法打印
</script>
<script> function f1(a){ document.write('参数的作用域在函数以内,其值是 '+a);//参数a的作用范围,所以打印出来是5; } function f2(){ document.write('在函数里不能访问其他函数的参数'+a); //不在参数a的作用范围,是一个未声明的变量,无法打印 } f1(5); f2(); document.write('在函数外也不能访问'+a);//也不在参数a的作用范围,是一个未声明的变量,无法打印 </script>
<script>
var a = 0; //定义在函数前面,即全局变量,所有函数都可以访问
function f1(){
document.write('通过函数f1 设置全局变量a的值 为 5');
a = 5; //能够访问
}
function f2(){
document.write('通过函数f2 访问并打印全局变量a的值 '+a); //能够访问
}
f1(); //通过f1,设置a的值
document.write('<br>');
f2(); //通过f2, 打印a的值
</script>
<script> var a = 0; //定义在函数前面,即全局变量,所有函数都可以访问 function f1(){ document.write('通过函数f1 设置全局变量a的值 为 5'); a = 5; //能够访问 } function f2(){ document.write('通过函数f2 访问并打印全局变量a的值 '+a); //能够访问 } f1(); //通过f1,设置a的值 document.write('<br>'); f2(); //通过f2, 打印a的值 </script>
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2020-04-14
js中如果f1()和f2()中的变量名一致,f1()先调用,就算不定义全局变量,f2()也可以读取到a的值
4 个答案
1|1|1|1 跳转到问题位置 答案时间:2020-09-14 总结:带var不是全局 不带是全局
流风 跳转到问题位置 答案时间:2020-05-15 要搞清楚参数和局部变量的区别,只有在参数中声明其它函数才不能访问
逆光逆时针 跳转到问题位置 答案时间:2020-05-05 在函数内用var声明是局部变量,如果不加var直接赋值就是一个全局变量
ssssss2222222 跳转到问题位置 答案时间:2020-04-24 其实是有没有用var的问题
向未声明的 JavaScript 变量来分配值 如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。这条语句:
carname="Volvo";
将声明一个全局变量 carname,即使它在函数内执行。
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2018-01-22
请问JS是怎么区分形参实参的
2017-08-09
我的意思是这个
2017-08-08
如果想在方法里修改全局变量呢
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 3 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|