JavaScript中几种常见的创建对象的方法

目录

0.码仙励志

1.普通创建对象方法

2.工厂模式创建对象

3.自定义构造函数创建对象

4.字面量方式创建对象

1.未优化

2.优化后

5.JSON格式的数据


0.码仙励志

孤独是每个强者必须经历的坎

1.普通创建对象方法

<script>
    var obj = new Object();
    obj.name = "小明";
    obj.age = 20;
    obj.laugh = function () {
        console.log("笑");
    };
    obj.cry = function () {
        console.log("哭");
    };
    console.log(obj.name);
    obj.cry();
</script>

2.工厂模式创建对象

<script>
    var pop = function (name, age) {
        var obj = new Object();
        obj.name = name;
        obj.age = age;
        obj.laugh = function () {
            console.log("笑");
        };
        obj.cry = function () {
            console.log("哭");
        };
        return obj;
    }
    var pop1 = pop("小明", 20);
    var pop2 = pop("小刚", 30);
    console.log(pop1.name);
    pop2.cry();
</script>

3.自定义构造函数创建对象

<script>
    //自定义构造函数名字首字母大写
    function Person(name, age) {
        var obj = new Object();
        obj.name = name;
        obj.age = age;
        obj.laugh = function () {
            console.log("笑");
        };
        obj.cry = function () {
            console.log("哭");
        };
        return obj;
    }
    var P1 = Person("小明", 20);
    var P2 = Person("小刚", 30);
    console.log(P1.name);
    P2.cry();
</script>

4.字面量方式创建对象

1.未优化

<script>
    var obj = {};
    obj.name = "小明";
    obj.age = 20;
    obj.laugh = function () {
        console.log("笑");
    };
    obj.cry = function () {
        console.log("哭");
    };
    console.log(obj.name);
    obj.cry();
</script>

2.优化后

<script>
    var obj = {
        name: "小明",
        age: 20,
        laugh: function () {
            console.log("笑");
        },
        cry: function () {
            console.log("哭");
        }
    };
    console.log(obj.name);
    obj.cry();
</script>

5.JSON格式的数据

<script>
    //创建对象
    var obj = {
        "name": "小明",
        "age": "20",
        "sex": "男"
    };
    //遍历对象的属性
    for (var key in obj) {
        //对象中确实有这个属性,用  对象.属性名字  或  对象[属性名字]
        //对象中没有这个属性,用  对象[属性名字]
        console.log(key + "====" + obj[key]);
    }
    console.log(obj.key);
</script>

猜你喜欢

转载自blog.csdn.net/tswc_byy/article/details/82689476