范仁义js课程---50、函数作用域
范仁义js课程---50、函数作用域
一、总结
一句话总结:
函数作用域指只能在函数里面发挥作用的变量,在函数外无法被访问到,可以在函数里面用var关键字声明一个函数变量
1、如何定义一个函数作用域的变量?
在函数里用var关键字声明一个变量,这个变量的作用域就是函数作用域,在函数中,使用var关键字声明的变量才是函数变量,没使用var关键字声明的变量是全局变量
2、函数变量的生命周期是怎样?
函数变量的生命周期是函数被使用的时候创建,使用完之后销毁,所以调用函数一次,函数变量就被创建一次,调用完之后就会被销毁
3、在函数里面访问变量的规则是怎样的?
函数在访问变量的时候是有 就近原则的,会优先在函数里面找,函数里面如果有的话,就使用,没有的话就会一层一层的往上找
4、如何在函数里面访问全局变量?
可以直接通过window对象的属性来在函数里面直接访问全局变量,比如window.c就是访问的全局的c这个变量
5、函数里面有 变量和函数的声明提前 么?
在函数中,变量和函数都是有声明提前的
二、局部作用域
博客对应课程的视频位置:50、函数作用域
https://www.fanrenyi.com/video/19/150
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>函数作用域</title> 6 </head> 7 <body> 8 <!-- 9 1、 10 函数作用域:指只能在函数里面发挥作用的变量 11 12 函数作用域的变量,在函数外是无法被访问到的 13 14 2、 15 如何定义一个函数作用域的变量 16 在函数里面用var关键字声明一个变量 17 18 注意点:在函数中,使用var关键字声明的变量才是函数变量, 19 在函数中,没使用var关键字声明的变量是全局 20 21 推荐:在函数里声明变量一般都使用var关键字 22 23 3、 24 函数变量的生命周期 25 函数变量相当于是挂靠在函数上面的, 26 函数变量的生命周期是函数被使用的时候创建,使用完之后销毁 27 28 注意点: 29 函数被声明的时候,函数中的变量是不会被创建出来的 30 31 调用了这个函数几次,这个函数里面的函数变量就相当于被创建了几次,被销毁了几次 32 33 34 在函数里面可以访问全局的变量,但是在全局里面不能访问函数的变量 35 36 4、 37 函数在访问变量的时候是有 就近原则的 38 函数里面再使用变量的时候,会优先在函数里面找,函数里面如果有的话,就使用,没有的话就会一层一层的往上找 39 40 5、 41 如何在函数里面使用全局变量 42 可以直接通过window对象的属性来访问,比如window.c就是访问的全局的c这个变量 43 44 6、 45 函数里面的变量和函数的声明提前 46 47 48 49 --> 50 <script> 51 var c=20; 52 console.log('程序开始'); 53 function fun1() { 54 console.log(a); 55 var a=14; 56 var c=22; 57 //b=15; 58 //console.log(a); 59 console.log(c); 60 fun2(); 61 function fun2() { 62 var c=25; 63 console.log('fun2: '+c); 64 console.log('fun2 里面的全局的c: '+window.c); 65 } 66 //fun2(); 67 //console.log("函数里:b="+b); 68 } 69 fun1(); 70 71 //fun1(); 72 //console.log(a); 73 //console.log("函数外:b="+b); 74 </script> 75 </body> 76 </html>
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672