JavaScript基础笔记-03函数基础

1. 函数介绍

1. 函数的概念

函数就是把特定功能的代码抽取出来,使之成为程序中的一个独立实体.通俗的来说就是一个工具。  
洗衣机、螺丝刀也是工具

2. 函数的作用

正如函数的概念, 我们可以根据需要, 将特定的功能用函数来包裹(封装)

3. 使用函数的好处

  1. 函数可以在同一个程序或其他程序中多次重复使用(通过函数名调用)------代码重用
  2. 使程序变得更简短而清晰 , 提高可读性
  3. 有利于程序维护

2. 函数的定义和调用

1. 函数的简单定义

      定义函数的语法格式: 
       function  函数名(形参1、形参2) {
            代码块;
       }
1. 必须使用function关键字, 且为小写, 函数名可以自己给定
2. 函数名的命名规则和变量名一致
3.  函数名后必须写圆括号()
4.  <h3>d</h3>

2. 函数的调用

 函数的调用方式: 函数名() 
   如 : 调用下面的函数:  printOut(); 
   function printOut(){
         document.write(“Hello World!”);
    } 
   1. 调用函数后会执行函数内部的代码块;
   2. 函数在不调用的情况下是不会执行的, 只有调用后函数中的代码才会执行   

3. 图解函数

图解函数

3. argumnets

只能在函数内部出现
它是伪数组(像数组、不是真数组)
用于动态接收形参

    //例:
        function fun(){
            var res=0;
            for(var i=0;i<arguments.length;i++){
                res+=arguments[I];
            }
            return res;
        }
        var result=fun(90,24,54);
        console.log(result);

4. 作用域

就是起作用的范围。或者说有效范围; 这里涉及到另外两个概念

  • 局部变量: 定义在函数内部的变量,这个变量只能在函数内部使用,即作用域范围只是函数内部,另外,形参也是局部变量.

  • 全局变量: 全局变量就是定义在函数外部的变量,这个变量在任何函数中都有效,即作用域范围是当前文件的任何地方.

  • 函数内部可以访问函数外部的全局变量

  • 函数内部的局部变量、只能在函数内部使用、不能在函数之外使用

  • 当全局变量与局部变量同时存在的时、 局部变量有限

  • 在函数内部、先使用变量、

  • 示例:

    例:
      var a = 10;
      function m1(){
            var a = 5;
            console.log(a); //5
      }
      m1();
      console.log(a);   //10   
    
    
       例:
    
      function m1(){
            var c = b = 5;
           //  c局部  b全局 
      }
      m1();
      console.log(c);  //报错、c为局部变量
    
    
      
    

1.在上面函数中第一个打印为函数m1内部定义的a的值, 变量会从下往上寻找最近的变量a;
2.第二个打印为最上面定义的a的值;

4. 递归函数

例:

        //1:计算1到100d的和
        function sum(num) {
            if (num == 1) {
                return 1;
            }
            return num + sum(num - 1)
        }
        console.log(sum(100));

        //2:输入一个n、打印n个helloword
        function prin(nub){
            console.log("Hello World!");
            if(nub==1){
                return;
            }
            nub-prin(nub-1);
        }
        console.log(prin(10));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容