{js}面向对象

prototype 属性使您有能力向对象添加属性和方法。

function People(){

}
People.prototype.say = function(){
	alert("hello");
}
function Student(){

}
Student.prototype = new People();
var s = new Student();
s.say();
(function(){
	var n = 666;
	function People(name){
		this._name = name;
	}
	People.prototype.say = function(){
		alert("hi"+this._name+n);
	}
	window.People = People;
}());
(function(){
	var n = 777;
	function Student(name){
		this._name = name;
	}
	Student.prototype = new People();
	var main = Student.prototype.say;
	Student.prototype.say = function(){
		main.call(this);
		alert("bye"+this._name+n);
	}
	window.Student = Student;
}());
var v = new Student("ii");
v.say();

(function(){
	var n = 1;
	function Person(name){
	var _this = {};
	_this._name = name;
	_this.say = function(){
		alert("a"+_this._name+n);
	}
	return _this;
}
window.Person = Person;
}());

function Teacher(name){
	var _this = Person(name);
	var superSay = _this.say;
	_this.say = function(){
		superSay.call(_this);
		alert("b"+_this._name);
	}
	return _this;
}
var t = Teacher("iwen");
t.say();



猜你喜欢

转载自blog.csdn.net/tree_building/article/details/79558889