javascript继承之工具函数二

按原型方式写类,即属性和方法都挂在原型上。

 

/**
 *  父类Person
 */
function Person(){
}
Person.prototype.nationality = 'China';
Person.prototype.getNationality = function() {return this.nationality;}
Person.prototype.setNationality = function(n) { this.nationality = n;}
 

extend函数如下,即创建一个父类赋值给子类原型

/**
 * 工具函数---实现继承  
 * @param {Function} subCls
 * @param {Function} superCls
 */
function extend(subCls,superCls) {
	subCls.prototype = new superCls();	
}

子类如下,

function Man() {}
extend(Man,Person);

添加子类自有属性及方法

Man.prototype.name = 'jack';
Man.prototype.getName = function() { return this.name;}
Man.prototype.setName = function(n) { this.name=n;}
 

最后测试代码,

var m = new Man();
console.log(m);
console.log(m instanceof Person);

 

 

 

 

 

你可能感兴趣的:(JavaScript,prototype)