js-局部变量+全局变量+闭包

什么是变量?


  • 变量:我们从字面上看,变量是可变的量,从编程意义上讲,可以理解为是一个仓库,拿来存放某些数值;如上图,大方框可看做是仓库,仓库里面可存放各类物品。变量名就是仓库的名称。

变量的命名规范:

1、变量名必须以字母.下标符号"_"或者"$"开头;

2、变量名的长度不得超过255个字符;、

3、变量名中不可以使用空格,并且开头不得以数字开头;

4、不用使用脚本语言中保留的关键字及保留符号作为变量名

5、变量名是区分大小写的,var a=1和var A=1;


  • 局部变量(Local variables)

指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局变量而言的。在面向对象语言中,一般只使用局部变量。面向对象编程是现在普遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量。

在C语言等面向过程语言中,局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>变量</title>
  6. <script type="text/javascript">
  7. function aa(){
  8. var a=5;
  9. // 局部变量,只在aa()函数体里面起作用。
  10. }
  11. function bb(){
  12. var a=5;
  13. alert(a);
  14. }
  15. bb();
  16. </script>
  17. </head>
  18. <body>
  19. </body>
  20. </html>

  • 全局变量
变量分为局部与全局,局部变量又可称之为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。
全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。一个局部变量在被其它对象引用时,会是一个空值。但全局变量却不会出现这种情况。
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>全局变量</title>
  6. <script type="text/javascript">
  7. var a=888;
  8. // 全局变量,但是:很少,尽量别用.
  9. function aa(){
  10. var a=55;
  11. alert(a);
  12. }
  13. function bb(){
  14. alert(a);
  15. }
  16. aa();
  17. </script>
  18. </head>
  19. <body>
  20. </body>
  21. </html>

  • 闭包

所谓闭包,简单理解就是子函数使用父函数的局部变量;所以

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>闭包</title>
    6. <script type="text/javascript">
    7. function aa(){
           var a=10;
           function bb(){
             alert(a); 
           }
           return bb;
         }
         var result=aa();
         result(); // 弹出10
    8. </script>
    9. </head>
    10. <body>
    11. </body>
    12. </html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值