函数声明方式不同的区别

通过函数声明语句声明的函数,可以在进行声明的代码行之前就对其调用.下面的例子是在函数的作用域内进行,不过对于全局作用域情况也相同的.

  function doit (){
      fn();   //在声明函数fn之前对其进行调用
      function fn(){   print('called')   }
      }
//  函数调用
    doit();
 >called

在通过匿名函数表达式进行定义的情况结果将会不同.下面的代码结果上与上面的类似,却是错误的.

  function doit (){
      fn();   //在声明函数fn之前对其进行调用
      var fn = function {   print('called')   }
      }
//  函数调用
    doit();
>//Uncaught SyntaxError: Unexpected token {

你可能感兴趣的:(函数声明方式不同的区别)