<script>
/**
* call: 它的第一个参数用作this的对象,其他的参数都直接传递给函数本身。
* apply:它有两个参数。第一个参数是用作this的对象,第二个参数是传递给函数的参数的数组。
*
*/
function Person(name,sex){
this.name = name;
this.sex = sex;
}
Person.prototype = {
introduceSelf:function(){
alert('My name is : ' + this.name + ', I\'m a ' + this.sex);
}
};
var person = new Person('Join','male');//output 'My name is : Join, I'm a male'
person.introduceSelf();
//给出一个继承的实现方式
function Student(name,sex,id){
//Person.call(this,name,sex);// call 的用法
Person.apply(this,arguments);// apply 的用法
this.id = id;
}
Student.prototype = new Person();
Student.prototype.talkId = function(){
alert('My student number is : ' + this.id);
};
var student = new Student('LiLei','male',101);
student.introduceSelf();//output 'My name is : LiLei, I'm a male'
student.talkId();//output 'My student number is : 101'
</script>
?
