您的位置:首页 > Web前端 > JavaScript

js面向对象例子(原型继承和类继承)-3

2015-09-13 15:52 1026 查看
function Person(name){
this.name=name;
}
Person.prototype.getName = function(){
return this.name;
}
function User (age,name){
this.name = name; //如果传person的参数,那即使继承了person的方法也是无法使用的
this.age=age;
}
User.prototype.getAge = function(){
return this.age;
}
User.prototype = new Person(); //将person的方法加到user的原型链上
var user = new User('18','zhang');
var person = new Person();
console.log(user.getName());

function Person(name, age) { //定义一个类
this.name = name; //名字
this.age = age; //年龄
this.sayhello = function() {
alert(this.name)
};
}

function Print() { //显示类的属性
this.funcName = "Print";
this.show = function() {
var msg = [];
for (var key in this) {
if (typeof(this[key]) != "function") {
//msg.push([key, ":", this[key]].join(""));
msg.push([key,":",this[key]]);
}
}
console.log(msg);
};
}

function Student(name, age, grade, school) { //学生类
// Person.apply(this, arguments); //比call优越的地方
Person.call(this,name,age);
// Person.call(this,'');
Print.apply(this, arguments);
this.grade = grade; //年级
this.school = school; //学校
}
var p1 = new Person("卜开化", 80);
p1.sayhello();
var s1 = new Student("白云飞", 40, 9, "岳麓书院");
s1.show();
s1.sayhello();
alert(s1.funcName);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: