javascript函数的声明

1 function fn1(){console.log(1);}
2 fn1();//2
3 function fn1(){console.log(2);}
4 fn1();//2
  • 在javascript中,直接通过function声明的函数,后面的定义会影响到之前的引用。

1 var fn1 = function(){console.log(3);} 2 fn1();//3 3 var fn1 = function(){console.log(4);} 4 fn1();//4

  • 通过var声明的函数,后面的定义并不会影响前面的引用。
1 function fn1(){console.log(1);}
2 fn1();//4
3 function fn1(){console.log(2);}
4 fn1();//4
5 var fn1 = function (){console.log(3);}
6 fn1();//3
7 function fn1(){console.log(4);}
8 fn1();//3
  • 直接通过function声明的函数,后面的定义照旧影响了前面的引用。
  • 但是不能改变通过var申明的函数的引用,反而,通过var申明的函数,改变了后来通过function申明函数之后的引用。
原文地址:https://www.cnblogs.com/sxshijingjing/p/5190446.html