JavaScript 深入理解作用域

var i = 10;
 function a (){
  var b = 1;
   function c (){
    var d = 2;
   }
   c();
    alert(b);
    alert(d);
alert(i); } a();
//输出此段代码 b=1, d is not defined,i=10
1.作用域:程序中定义这个变量的有效区域。                
变量d只在函数c中才会有结果,函数c就是变量d的作用域。
2.局部变量:有作用域限制的就叫做局部变量。
函数a下面的变量b,函数c下面的变量d。
3.全局变量:在最外围的一个对象,或者初始化变量时没有使用var声明。
函数i。window对象(window.onload等等)。

4.作用域链:保证代码的执行过程,查询顺序:由内向外。
函数d→函数b→函数i
5.JavaScript没有块级作用域。
如果需要拥有,将for语句块放入闭包中即可。

参考资料:https://www.imooc.com/video/9631/0
JavaScript高级程序设计

posted on 2017-12-17 22:47  张某某某  阅读(90)  评论(0编辑  收藏  举报

导航