首页 > 代码库 > Javascript创建对象 -- 构造函数模式

Javascript创建对象 -- 构造函数模式

 1 function Person(name, age) { 2     this.name = name; 3     this.age = age; 4     this.eat = function() { 5         alert("eating..."); 6     } 7 } 8 var p1 = new Person("cai10", 21); 9 var p2 = new Person("cai20", 27);10 alert(p1.name);                 // cai1011 alert(p1.age);                  // 2112 p1.eat();                       // eating...13 alert(typeof p1);               // object14 alert(p1 instanceof Object);    // true15 alert(p1 instanceof Person);    // true16 alert(p1.constructor);          // function Person(name, age) {...}17 alert(p1.eat == p2.eat);        // false

通过new关键字, 创建并返回一个新的对象. 
在Person()中, 没有显示的创建对象, 
而是直接将属性和方法赋给了this对象, 也没有return语句. 
使用构造函数模式创建实例, 可以将该实例标识为一种特定的类型, 
如例子中, 使用instanceof操作符或constructor属性可以得到验证. 
但仍旧有存在多个Function实例的问题. 

Javascript创建对象 -- 构造函数模式