对象创建工厂

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 创建一个对象
             */
            var obj = {
                    name:"孙悟空",
                    age:18,
                    gender:"男",
                    sayName:function(){
                        alert(this.name);
                    }
            };

            /*
             * 使用工厂方法创建对象
             *  通过该方法可以大批量的创建对象
             */
            function createPerson(name , age ,gender){
                //创建一个新的对象 
                var obj = new Object();
                //向对象中添加属性
                obj.name = name;
                obj.age = age;
                obj.gender = gender;
                obj.sayName = function(){
                    alert(this.name);
                };
                //将新的对象返回
                return obj;
            }
            
            /*
             * 用来创建狗的对象
             */
            function createDog(name , age){
                var obj = new Object();
                obj.name = name;
                obj.age = age;
                obj.sayHello = function(){
                    alert("汪汪~~");
                };
                
                return obj;
            }
            
            var obj2 = createPerson("猪八戒",28,"男");
            var obj3 = createPerson("白骨精",16,"女");
            var obj4 = createPerson("蜘蛛精",18,"女");
            /*
             * 使用工厂方法创建的对象,使用的构造函数都是Object
             *  所以创建的对象都是Object这个类型,
             *  就导致我们无法区分出多种不同类型的对象
             */
            //创建一个狗的对象
            var dog = createDog("旺财",3);
            
            console.log(dog);
            console.log(obj4);
            
            
        </script>
    </head>
    <body>
    </body>
</html>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容