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申明函数之后的引用。