JS中可以先使用函数,然后再定义.

  首先要说明的,下面这种方式是对的,虽然不知道为什么,很奇怪为什么可以先使用,再定义,希望有了解的人可以给个说法.
    <SCRIPT LANGUAGE="JavaScript">
    hello('www.openj.cn');

      function hello(name){alert("hello " +name)};   

    </SCRIPT>

本文首发于 http://blog.openj.cn

下面的这种定义函数方式,对于写一些比较复杂的代码比较合适,特别是有返回值时,函数名可以直接被赋予返回值,有时这会带来很大的方便.
    <SCRIPT LANGUAGE="JavaScript">
     var hello = function(name){alert("hello "+name)};
      hello('www.openj.cn');

    </SCRIPT>

下面这种方式是错的,在此处不能先使用后定义,可能是因为函数名此时也当做变量名吧.对变量无法实现先使用后定义.这只是猜测,希望有明白人能给一个权威说话.
  <SCRIPT LANGUAGE="JavaScript">

  hello('www.openj.cn');
     var hello = function(name){alert("hello "+name)};

    </SCRIPT>

你可能感兴趣的:(JS中可以先使用函数,然后再定义.)