码迷,mamicode.com
首页 > Web开发 > 详细

js_02 函数

时间:2019-10-27 15:06:51      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:zhang   递归   概念   数列   doc   函数的参数   限制   code   name   

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>

 

js_02 函数

标签:zhang   递归   概念   数列   doc   函数的参数   限制   code   name   

原文地址:https://www.cnblogs.com/zhangjian0092/p/11747279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!