构造函数创建对象

这篇博客介绍了如何利用JavaScript中的构造函数来创建和初始化对象。通过构造函数,可以为多个对象设置相同的属性和方法,例如创建了代表四大天王的Star对象,以及英雄角色廉颇和后裔的Yingx对象。博客内容详细解释了构造函数的语法、注意事项,并给出了创建英雄对象的练习案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /*创建对象的三种方式

       

        2.3利用构造函数的创建对象

        构造函数:是一种特殊的函数 , 主要用来初始化对象, 即为对象称为变量赋初始值, 它总与new 运算符一起

        使用.我们可以把对象中一些公告的属性和方法抽取抽取出来, 然后封装到这个函数里面

       

       

        */

        // 利用构造函数创建对

        // 我们需要创建四大天王的对象 相同的属性 : 名字 年龄 性别 相同的方法 : 唱歌

        // 构造函数的语法格式

        // function 构造函数名() {

        //     this.属性 = 值;

        //     thiss.方法 = function () {}

        // }

        // nwe 构造函数名();

    //     function Star(uname , age , sex) {

    //          this.name = uname;

    //          this.age = age;

    //          this.sex = sex;

    //          this.sing = function(geq) {

    //              console.log(geq)

    //          }

    //     }

    //    var ldh = new Star("刘德华","年龄18","性别男"); //调用函数返回的是一个对象

    // //    console.log(typeof ldh);

    //        console.log(ldh.name);

    //        console.log(ldh.age);

    //        console.log(ldh.sex);

    //        ldh.sing("歌曲忘情水");

    //        var zxy = new Star("张学友","年龄19","性别男")

    //        console.log(zxy.name);

    //        console.log(zxy.age);

    //        console.log(zxy.sex);

    //        zxy.sing("歌曲吻别");

    //        var zxy = new Star("黎明","年龄19","性别男")

    //        console.log(zxy.name);

    //        console.log(zxy.age);

    //        console.log(zxy.sex);

    //        var zxy = new Star("郭富城","年龄19","性别男")

    //        console.log(zxy.name);

    //        console.log(zxy.age);

    //        console.log(zxy.sex);

        // 1.构造函数的首字母要大写

        // 2.我们构造函数不需要return 就可以返回结果

        // 3.我们调用构造函数必须使用new

        // 4.我们只要new Star()调用函数就创建一个对象 ldh {}

        // 5.我们的属性和方法前面必须添加this

        // 练习 :请按照要求创建对象

        // 利用构造函数创建连个英雄对象.函数中的公告部分包括: 姓名属性(name),类型属性(type),血量属性

        // (blood)和根据方式(attack).

        // 英雄对象的信息如下:

        // 廉颇 力量型 500血量 攻击 : 近战

        // 后裔 射手型 100血量 攻击 : 远程

        function Yingx(uname , type , blood ) {

            this.name = uname

            this.type = type

            this.blood = blood

            this.attack = function(attack) {

                console.log(attack)

            }

        }

        var lp = new Yingx("廉颇" , "力量型" , "500血量" )

        console.log(lp.name)

        console.log(lp.blood)

        console.log(lp.type)

        lp.attack("近战")

        var hy = new Yingx("后羿" , "射手型" , "100血量" )

        console.log(hy.name)

        console.log(hy.blood)

        console.log(hy.type)

        hy.attack("远程")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值