• 函数&&构造函数


    1.函数的两种声明函数的方式:

    1.函数声明方式声明函数:

      function 函数名+(形参){

        语句...

    }

     调用函数:函数名(实参);

    2.函数表达式声明:

      var 变量名(也是调用函数时的函数名) = function (形参){

        语句...

    }

      调用函数:变量名(函数名)+(实参);

    2.函数的实参跟形参时一一匹配的,当函数的实参数量与函数形参数量不匹配时:

    1.当函数的实参数量大于形参的数量时,则多出的实参不会被传入函数;

    例如:

     
            function fn2(a, b) {
                let num = a + b;
                console.log(num);
            }
            fn2(1, 2, 3);
      结果num输出为3;
      这里1指向a,2指向b,3没有对应的形参指向,所以不传入函数

    2.当函数的实参数量小于形参的数量时,则函数多出的形参没有对应实参匹配,该形参再函数内输出为undefined;

    例如:
            function fn3(a,b,c){
                let sum = a +b+c;
                console.log(sum);
                console.log(a,b,c);//c为undefined
            }
            fn3(1,2);

     3.构造函数

    1.构造函数的声明方式:

      function Fn(形参){

        this.形参 = 形参;

    }

    函数首字母大写,函数内部要有this指向

    例如:

    function Gfn(name, age, sex,sing) {//如函数形参缺失name,则输出为空字符
                 this.name = name;//如缺失这行, console.log(gfn.name)输出为undefined;
         this.age = age; 
         this.sex = sex; 
         this.sing = function (song){ 
                    console.log('song'); 
    }     
    }                          

    此时构造函数不像普通函数一样,不是调用函数,而是使用new关键字来创建一个对象,也称为对象的实例化

    例如:

    var gfn = new Gfn('刘德华', 18, "男");
      console.log(gfn.name);//刘德华

    这就叫做对象的实例化,此时构造函数的实参与形参也是一一对应的,刘德华指向name,18指向age等等,

    我们还可以创建另外一个对象,如:

    var zxy  = new Gfn('张学友',19,'男');
       console.log(zxy.name);

    同样也是对象的实例化.

  • 相关阅读:
    C# 计算结果四舍五入
    同时执行多条SQL语句
    将一个datatable的值赋给另一个dt的三种方法转
    Oracle中增加、删除、修改字段
    Oracle 某列转为行
    DataList中链接跳转页面传参数
    修改数据库中多个表中的同一个字段的长度(可参照修改成同一字段的列名、注释等)
    克隆表结构
    博客专题
    Rational Rose2003 安装教程
  • 原文地址:https://www.cnblogs.com/lx1943661721/p/16422089.html
Copyright © 2020-2023  润新知