js_02 函数

1. 定义函数的三种方式

1. 定义命名函数

function functionName(parameter-list)
{
    statements   
}

  注意: 给予函数提升的特性, 在同一个script标签内允许我们先调用函数, 再定义函数, 但是在不同的script标签内, 必须先定义, 再调用

2. 定义匿名函数

    <script>
        var f = function(name)
        {
            document.writeln('匿名函数<br>');
            document.writeln('你好' + name);
        };
        f('zhangjian')

    </script>

  定义匿名函数无需指定函数名, 而是将参数列表紧跟function关键字, 在函数定义语法的最后不要忘记紧跟分号

3. 使用Function类定义匿名函数

    <script>
      var f = new Function('name' ,
          "document.writeln('Function定义的函数<br>');" +
          "document.writeln('你好' + name)"
      );

      f('zhangjian')

    </script>

   js提供了一个Function类,该类也可以用来定义函数,FFunction类的构造器的参数个数可以不受限制, Function可以接受一系列的字符串参数,其中最后一个字符串参数是函数的执行体,z执行体的语句用分好隔开,而前面的各字符串则是函数的参数

2. 递归函数

  递归函数是啥这里就不多说了哈,  不了解的可以取力扣看一下

  用递归实现求n的阶乘

    <script>
        var f = function(n)
        {
            if(typeof(n) == 'number')
            {
                if(n==1)
                {
                    return 1
                }
                else
                {
                    return n * f(n-1)
                }
            }
        }

        document.write(f(4))

    </script>

3. 局部变量和局部函数
  

  在函数内用var定义的变量成为局部变量

  在函数外不或者函数内不适用var定义的变量成为全局变量

  如果局部变量和全局变量的变量名相同, 则局部变量会覆盖全局变量

  局部函数与局部变量概念相似, 局部函数在函数里边定义

    <script>
        function outer()
        {
            function inner1()
            {
                document.write('局部函数1')
            }
            function inner2()
            {
                document.write('拒不函数2')
            }
            inner1();
            inner2();
        }

        outer()


    </script>

猜你喜欢

转载自www.cnblogs.com/zhangjian0092/p/11747279.html
今日推荐