JavaScript面向对象之类与继承
2012-07-11 23:14
246 查看
JavaScript没有类的概念,只有函数. 定义实例对象通过函数来定义.
定义的方式有很多,主要较好的定义函数的方法是将属性放置在函数内部的this里,讲方法定义在原型当中.
函数本身就是一个对象,一个特殊的对象,可执行的特殊对象,因此函数继承至Object.
JS的较好的继承是通过改变父类函数的作用域来将父类的属性附加到子类当中,通过原型机制,将父类的方法和属性附加到子类中。
定义的方式有很多,主要较好的定义函数的方法是将属性放置在函数内部的this里,讲方法定义在原型当中.
function Student(_name, _age) { this.name = _name; this.age = _age; } Student.prototype.sayName = function() { alert(this.name); } var student = new Student("Sykent", 21); student.sayName();
函数本身就是一个对象,一个特殊的对象,可执行的特殊对象,因此函数继承至Object.
JS的较好的继承是通过改变父类函数的作用域来将父类的属性附加到子类当中,通过原型机制,将父类的方法和属性附加到子类中。
function People(_name) { this.name = _name; } People.prototype.sayName = function() { alert(this.name); } function Teacher(_name, _age) { People.call(this, _name); //继承属性 this.age = _age; //子类自己的属性 } Teacher.prototype = new People(); //因此该子类Teacher的原型对象包含了__proto__属性. 用Teacher定义的实例会包含__proto__如果找不到属性,将去原型中找,原型对象中找不到,同样通过__proto__去找People实例化的对象。 Teacher.prototype.constructor = Teacher; //构造函数重新构建 Teacher.prototype.sayAge = function() { alert(this.age); } //子类方法,子类方法应该在继承方法之后,不然会被洗刷
相关文章推荐
- JavaScript面向对象之类的继承
- JavaScript面向对象之类的继承
- JavaScript面向对象之类的继承
- Javascript 面向对象 继承
- Javascript 面向对象 继承
- Python面向对象之类的封装、继承与多态
- JavaScript面向对象的程序设计2(组合构造和原型 继承)
- JavaScript面向对象的方法实现继承:call方法
- javaScript面向对象-继承
- JavaScript面向对象(二)--前端必须知道的原型和继承
- 补基础之javascript面向对象-非构造函数的继承
- (四)Javascript面向对象:继承
- javascript面向对象学习笔记(一)——继承
- JavaScript面向对象之类的创建
- JavaScript 面向对象之继承
- JavaScript面向对象之类
- 全面理解Javascript的面向对象(二)--创建对象与继承
- javaScript 面向对象-继承(六)
- javascript面向对象(继承)
- 面向对象的JavaScript 四 ----- Javascript实现继承的方式(1)