javascript中函数作用域和声明提前

实例一:

function test(o){
     var i=0;
     if(type o=="object"){
      var j=0;
      for(var k=0;k<10;k++){
           console.log(k);
        }
      console.log(k);
    }
    console.log(j);
  }
    
  

javascrip使用的不是c中的那种块级作用域(block scope),而是函数作用域(function scope)

实例一中3个变量在同一个scope中

 

实例二:

//变量甚至可在声明之前被使用

var  scope="global";
function f() {
     //var scope;//相当于有这句
     console.log(scope);//输出"undefined",在函数开始时局部变量scope被提前声明,但未初始化赋值  
     var scope="local";//此处被赋值
     console.log(scope);//输出"local",
}

 

posted @ 2015-09-26 12:08  tianjiu2135  阅读(158)  评论(0)    收藏  举报