前端入门JavaScript-----面向对象

字面量创建对象:

 <script>
        var obj = {
            name: "小不言",
            age: 18,
            sayHi: function(){
                console.log("好靓仔");
            }
        }
    </script>

内置构造函数创建对象:

  <script>
        var obj = new Object();
        obj.name = "小不言";
        obj.age = 18;
        obj.sayHi = function () {
            console.log("很帅啊");
            
        }
    </script>

工厂函数创建对象:

  <script>
        // 创建工厂函数
        function createObj(name,age) {
            
            // 手动创建一个对象
            var obj = {};

            // 手动向里边添加属性
            obj.name = name;
            obj.age = age;
            obj.sayHi = function(){
                console.log("好靓仔啊");
            }

            // 手动返回这个对象
            return obj;
        }



        // 使用工厂函数去创建对象
        var obj1 = createObj("小不言",20);
        var obj2 = createObj("大孩儿",18);

        console.log(obj1,obj2);
    </script>

自定义构造函数创建对象:

  <script>
        // 制造一个自定义构造函数
        // 构造函数会自动创建对象,自动返回这个对象
        // 我们只需要手动向里面添加内容就可以了

        function createObj(name,age) {
            
            // 自动创建对象

            // 手动向对象里面添加成员
            // 这里的 this 指向当前实力(new 前面的变量)
            this.name = name;
            this.age = age;
            this.sayHi = function(){
                console.log("靓仔啊");
            }

            // 自动返回对象
        }

        // 使用自定义构造函数去创建对象
        // 构造函数在使用的时候,需要和 new 关键字连用
        // 如果不连用,那么没有意义


        // 第一次调用 createObj 时,和new 关键字连用了,那么this指向的就是obj1
        // 函数内部在执行是,就是在向obj1添加了name age sayHi 三个成员
         var obj1 = new createObj("小不言",18);


          // 第二次调用 createObj 时,和new 关键字连用了,那么this指向的就是obj2
        // 函数内部在执行是,就是在向obj2添加了name age sayHi 三个成员
         var obj2 = new createObj("大孩儿",20);
    </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值