创建对象

创建对象常用方式

构造函数模式+原型模式


function Person(name, age) {
            this.name = name;//this此时是在为new出来的Person对象实例,添加属性name       
            this.age = age;// this此时是在为new出来的Person对象实例,添加属性age
        }
        //为Person方法添加了一个原型方法sayHi
        Person.prototype.sayHi = function () {
            alert(this.name + ":" + this.age);
        }
        // new 1.开辟空间 2.创建对象 3.将对象传给构造函数的this 4.调用构造函数 5.返回对象
        var p1 = new Person("james", 18);
        var p2 = new Person("Greg", 20);
        p1.sayHi();
        p2.sayHi();



构造函数模式

缺点:为每个对象的实例都添加了一个方法实例,即每个方法都要在每个实例上重新创建一遍

 function Person(name1, age1) {
            this.name = name1;
            this.age = age1;
            this.sayHi = function () {
                alert(this.name + ":" + this.age);
            }
        }
        var p1 = new Person("Van", 23);
        var p2 = new Person("Li", 20);
        p1.sayHi();
        p2.sayHi();


原文地址:https://www.cnblogs.com/zhuuuu/p/7737516.html