JS中函数的声明和引用

1.直接通过function申明函数:

 

function a(){
  console.log("a");
}
a();//输出b;
function a(){
  console.log("b");
}
a();//输出b;

 

可以看到,二者均输出“b”。在javascript中,直接通过function申明的函数,后面定义的会影响到前面的引用。


2.通过var申明函数:

 

var a = function(){
  console.log("a");
};
a();//输出a;
var a = function(){
  console.log("b");
};
a();//输出b;

 

 

3.二者的混合:

 

var a = function (){
  console.log('a');
};
a();//输出a;
function a(){
  console.log("b");
}
a();//输出a;
function a(){
  console.log("b");
}
a();//输出b;
var a = function (){
  console.log('a');
};
a();//输出a;
function a(){
  console.log("a1");
}
a(); //输出a2;
var a = function(){
  console.log("b1");
};
a();//输出b1;
var a = function(){
  console.log("b2");
};
a();//输出b2;
function a(){
  console.log("a2");
}
a();//输出b2;

 

可以看出,通过var申明的函数会影响在它后面直接通过function申明的函数的引用;而通过function申明的函数会影响前面在它前面通过function申明函数的引用。

posted on 2013-04-09 18:18  花森  阅读(373)  评论(0编辑  收藏  举报