认识js的声明式函数和表达式函数的区别

声明式函数:

//不能这样使用

  if(conditio){

    function sayHi(){}

  }else{

    function sayHi(){

      alert('hi');

    }

  }

表达式函数:

var sayHi;

//这样没有问题

if(conditio){

    sayHi = function(){};

  }else{

    sayHi = function(){

      alert('hi');

    };

  }

对于声明式函数,浏览器大部分会返回第二个函数,condition将会被忽略。对于表达式函数(匿名函数)则不存在该问题。这与Js的引擎有关。

posted @ 2014-10-30 14:53  Craig.Q  阅读(258)  评论(0编辑  收藏  举报