创建对象的3种方法(字面量创建对象 ,new Object,构造函数)

<script>

        // 1、字面量创建对象 (不带new)

        var obj = {

            name: "张三",

            age: 18,

            say: function () {

                console.log("hi~")

            }

        }

        // 获取里面的值?

        console.log(obj.name);//需要console.log

        obj.say();//不需要console.log

        // 2、利用NEW创建对象

        var obj1 = new Object()  //创建一个空的对象

        obj1.uname = "张三";

        obj1.uage = 18;

        obj1.say = function () {

            console.log("hi`")

        };

        console.log(obj1.uname);

        obj1.say()//方法的调用

        // 3、构造函数   构造函数是为了可以利用这些重复的代码,避免重复,多次运用这些函数

        // (⭐特点:

        // a.函数名首字母大写

        // b.声明用this

        // c.不需要return出去

        // d.调用构造函数时需要new Star()

        // 案例:创建四大天王,他们有3个共同点需要封装

        function Star(uname, age, sex) {

            this.uname = uname;

            this.age = age;

            this.sex = sex;

            this.sing = function (sang) {

                console.log(sang);

            }

        }

        //   new Star().uname(直接调用函数的属性)

        // 调用 多个 new Star("实参1","实参2","实参3")

        var ldh = new Star("刘德华", 55, "男");

        ldh.sing = "冰雨"

        var zxy = new Star("张学友", 45, "男");

        zxy.sing = "李香兰"

        console.log(ldh)

        console.log(zxy)

        console.log(zxy.uname);

        console.log(ldh.age);

        // 练习构造函数

        function Play(name, type, blood, attack) {

            this.name = name;

            this.type = type;

            this.blood = blood;

            this.attack = attack;

        }

        var p1 = new Play("廉颇", "力量型", "500血量", "攻击:近战");

        console.log(p1)

        var p2 = new Play("后羿", "力射手型", "100血量", "攻击:远战");

        console.log(p2)

        // new Play(),表示的是一个实例的对象

        // new在执行过程种会做四件事

        // a.首先创建了一个空对象

        // b.接着让this指向了这个空对像

        // 执行了构造函数的代码,给了这个空对象属性和方法

        // 最后返回了这个新对象,所以构造函数不需要return

    </script>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值