JS面向对象(二)------------创建对象

来源:互联网 发布:扇贝和知米听力哪个好 编辑:程序博客网 时间:2024/04/29 17:07

1 工厂模式

用函数封装对象例子:
        function createPerson(name,age){                var o = new Object();                o.name = name;                o.age = age;                o.sayName = function(){                    alert(this.name);                }                return  o;            }            var onePerson = createPerson('sun',12);

2 构造函数模式

例子:
            function Person(name,age){                this.name = name;                this.age = age;                this.sayName = function(){                    alert(this.name);                }            }            var aPerson = new Person('sun',12); 

这里与上面工厂模式有着一点区别,没有创建对象没有return,直接把属性和方法赋值给this,而且需要new来调用;

3 原型模式

            function Person(name){                this.name = name;                           }            Person.prototype.age = 12;                      var aPerson = new Person('sun');             alert(aPerson.age);       //12

Person.prototype.age = 12;这句代码是让函数的所有的实例的age都是12;就不用每个对象都去设置了;

4 组合使用构造函数和原型模式

就是共享的属性和方法使用原型对象的模式,而不是一样的使用构造函数的模式;
这样可以最大限度的节省内存的使用;

0 0
原创粉丝点击