深入浅出javascript之创建对象的三种方式及工厂模型创建对象

对象:特指的某个事物,具有属性和方法
特征---->属性
行为---->方法
追哥:------>姓名,性别,年龄,吃,睡觉,玩

创建对象的三种方式:

1.字面量的方式 

var person1 = {
            name: "追哥",
            age: 20,
            sex: "男",
            eat: function () {
                console.log("吃重庆火锅");
            },
            playGame: function () {
                console.log("玩王者荣耀");
            }
        };
        console.log(person1.name);// 输出 追哥
        person1.eat();// 输出 吃重庆火锅

2. 调用系统的构造函数

var person2 = new Object();
        person2.name = "老鼠人";
        person2.age = 20;
        person2.sex = "男";
        person2.eat = function () {
            console.log("吃臭豆腐");
        };
        person2.playGame = function () {
            console.log("王者荣耀真好玩");
        };
        console.log(person2.name);// 输出 老鼠人
        person2.playGame();// 输出 王者荣耀真好玩

3.自定义构造函数(常用)

//方便区分,函数名一般大写
function Person(name, age, sex) {
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.play = function () {
                console.log("天天打游戏");
            };
        }
        //实例化对象
        var per = new Person("蝙蝠人", 20, "男");
        per.play();// 输出 天天打游戏

工厂模型创建对象

function createObject(name, age) {
            var obj = new Object();
            obj.name = name;
            obj.age = age;
            obj.sayHi = function () {
                console.log("您好");
            };
            return obj;
        }
        //直接调用函数便创建对象
        var person = createObject('琦玉老师',22)

工厂模型和自定义构造函数的区别:

共同点:都是函数,都可以创建对象,都可以传入参数

工厂模式:函数名是小写,有new,有返回值,new之后的对象是当前的对象,直接调用函数就可以创建对象

自定义构造函数:函数名是大写(首字母),没有new,没有返回值,this是当前的对象,用new的方式来创建对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值