首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS沿袭

2012-08-29 
JS继承1. 原型式继承// 为Person对象创建一个构造函数function Person(name) {this.name name}// 给Per

JS继承
1. 原型式继承
  

   // 为Person对象创建一个构造函数   function Person(name) {       this.name = name;   }   // 给Person对象添加一个新方法   Person.prototype.getName = function(){       return this.name;   };   // 创建一个新的User对象的构造函数   function User(name, password) {       this.name = name;       this.password = password;   }   // User对象继承所有Person对象的方法   User.prototype = new Person();   // 添加一个新方法到User对象中   User.prototype.getPassword = function(){       return this.password;   }   


2. 类式继承
  
   function Person(name) {       this.name = name;   }   // 给Person 对象添加一个新的方法   Person.method('getName', function(){   return name;       });   function User(name, password){       this.name = name;       this.password = password;   }   // 从Person对象继承所有方法   User.inherits(Person);   //给User对象添加一个新的方法   User.method('getPassword', function(){   return this.password;       });   // 覆盖Person对象创建的getName方法,但通过uber函数来调用原有方法   User.method('getName', function(){   return "My name is: " + this.uber('getName');       });   


3. Dean Edwards 的Base库进行简单对象创建与继承
  
   // 创建一个新的Person类   var Person = Base.extend({   // Person类的构造函数   constructor: function(name) {       this.name = name;   },   // Person类的一个简单方法   getName: function(){       return this.name;   }       });   // 创建一个新的继承自Person类的User类   var User = Person.extend({   // 创建User类的构造函数   constructor: function(name, password){       // 这个函数实际上调用了父类的构造函数       this.base(name);       this.password = password;   },   // 给User类提供了另一个简单的方法   getPassword: function(){       return this.password;   }       });   

热点排行