JS变量及其作用域
网络编程 2021-07-04 18:31www.168986.cn编程入门
本文主要介绍了JS变量及其作用域的相关知识。具有很好的参考价值,狼蚁网站SEO优化跟着长沙网络推广一起来看下吧
1、 变量及其作用域变量分为“全局变量”和“局部变量”,“全局变量”申明在函数外部,可供所有函数使用,而“局部变量”申明在函数体内部,只能在定义该变量的函数体内使用。
(备注在申明变量时没有var关键字,而是直接赋值的变量均为全局变量)
<script type="text/javascript"> function main() { n = 10;//这里的n为全局变量,可以被外部直接使用 } main(); alert(n); </script>
2、 在函数体内,局部变量的优先级高于全局变量。
<script type="text/javascript"> //网上看到的我认为很有代表性的一个例子,在函数体外部和内部都申明了相同名字的变量,变量的作用域问题,例子如下 var n = 1; function test() { alert(n); //这里的a并不是全局变量,原因是函数体第四行申明了一个相同重名的局部变 //量a,如果把第四行a的申明注释掉,那么这里的a显示1,为全局变量。所以得 //出结论全局变量a被局部变量a覆盖了。 //说明了JS函数在test()在执行前,函数体内的变量a都指向了局部变量,但本 //行输出的a在执行过程中还没有被赋值,所以显示undefined。 n = 2; alert(n); var n; //本行申明局部变量a alert(n); } test(); alert(n); </script>
按照我的理解,上面例子输出的答案应该是1 2 2 1;正确的答案是undefined 2 2 1; 原因就是函数体外部和内部都申明了相同名字的变量时,局部变量覆盖了全局变量。
3、 外部怎么读取函数体内部的局部变量呢?
,只有函数体内部可以直接得到外部的全局变量,外部要得到函数体内部的局部变量是不行的。,通过在函数体内部再定义一个函数返回局部变量,再从外部调用函数就能实现了。
<script type="text/javascript"> function f1() { var n = 10; function f2() {//在f1()内部再定义f2(),通过f2()访问f1()中的局部变量 alert(n); } return f2;//返回f1()局部变量n } var result = f1(); //在外部调用f1()函数,就能获取局部变量n的值 result(); // 10,即为n的值 </script>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程