码迷,mamicode.com
首页 > 编程语言 > 详细

0147 JavaScript创建对象的三种方式 之 构造函数

时间:2020-01-05 22:39:06      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:inf   类对象   strong   code   on()   实例化   函数和对象的关系   ons   function   

5.2.3.1 构造函数
  • 构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

  • 构造函数的封装格式:

    function 构造函数名(形参1,形参2,形参3) {
         this.属性名1 = 参数1;
         this.属性名2 = 参数2;
         this.属性名3 = 参数3;
         this.方法名 = 函数体;
    }
  • 构造函数的调用格式

    var obj = new 构造函数名(实参1,实参2,实参3)

    以上代码中,obj即接收到构造函数创建出来的对象。

  • 注意事项

    1. 构造函数约定首字母大写
    2. 函数内的属性和方法前面需要添加 this ,表示当前对象的属性和方法。
    3. 构造函数中不需要 return 返回结果
    4. 当我们创建对象的时候,必须用 new 来调用构造函数
  • 其他:构造函数和对象的关系

    【类对象 和 实例化对象 的关系。】

    (1)构造函数,如 Stars(),抽象了对象的公共部分,封装到了函数里面,它泛指某一大类(class)
    (2)创建对象,如 new Stars(),特指某一个。

? (3)对象实例化:通过 new 关键字创建对象的过程我们也称为对象实例化。

技术图片

        // 利用构造函数创建对象
        // 我们需要创建四大天王的对象  相同的属性: 名字 年龄 性别  相同的方法: 唱歌
        // 构造函数的语法格式
        // function 构造函数名() {
        //     this.属性 = 值;
        //     this.方法 = function() {}
        // }
        // new 构造函数名();
        function Star(uname, age, sex) {
            this.name = uname;
            this.age = age;
            this.sex = sex;
            this.sing = function(sang) {
                console.log(sang);

            }
        }
        var ldh = new Star('刘德华', 18, '男'); // 调用函数返回的是一个对象
        // console.log(typeof ldh);
        console.log(ldh.name);
        console.log(ldh['sex']);
        ldh.sing('冰雨');

        var zxy = new Star('张学友', 19, '男');
        console.log(zxy.name);
        console.log(zxy.age);
        zxy.sing('李香兰')


        // 1. 构造函数名字首字母要大写
        // 2. 我们构造函数不需要return 就可以返回结果
        // 3. 我们调用构造函数 必须使用 new
        // 4. 我们只要new Star() 调用函数就创建一个对象 ldh  {}
        // 5. 我们的属性和方法前面必须添加 this
        // 构造函数和对象
        // 1. 构造函数  明星 泛指的某一大类  它类似于 java 语言里面的  类(class)
        function Star(uname, age, sex) {
            this.name = uname;
            this.age = age;
            this.sex = sex;
            this.sing = function(sang) {
                console.log(sang);
            }
        }
        
        // 2. 对象 特指 一个具体的事物 刘德华 ==  {name: "刘德华", age: 18, sex: "男", sing: ?}
        var ldh = new Star('刘德华', 18, '男'); // 调用函数返回的是一个对象
        console.log(ldh);

        // 3. 我们利用构造函数创建对象的过程我们也称为对象的实例化

0147 JavaScript创建对象的三种方式 之 构造函数

标签:inf   类对象   strong   code   on()   实例化   函数和对象的关系   ons   function   

原文地址:https://www.cnblogs.com/jianjie/p/12153735.html

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