面向对象的JavaScript-003
2016-05-24 14:31
387 查看
1.
// Since JavaScript doesn't exactly have sub-class objects, prototype is a useful workaround to make a “base class” object of certain functions that act as objects. For example: var Person = function() { this.canTalk = true; }; Person.prototype.greet = function() { if (this.canTalk) { console.log('Hi, I am ' + this.name); } }; var Employee = function(name, title) { Person.call(this); this.name = name; this.title = title; }; Employee.prototype = Object.create(Person.prototype); Employee.prototype.constructor = Employee; Employee.prototype.greet = function() { if (this.canTalk) { console.log('Hi, I am ' + this.name + ', the ' + this.title); } }; var Customer = function(name) { Person.call(this); this.name = name; }; Customer.prototype = Object.create(Person.prototype); Customer.prototype.constructor = Customer; var Mime = function(name) { Person.call(this); this.name = name; this.canTalk = false; }; Mime.prototype = Object.create(Person.prototype); Mime.prototype.constructor = Mime; var bob = new Employee('Bob', 'Builder'); var joe = new Customer('Joe'); var rg = new Employee('Red Green', 'Handyman'); var mike = new Customer('Mike'); var mime = new Mime('Mime'); bob.greet(); // Hi, I am Bob, the Builder joe.greet(); // Hi, I am Joe rg.greet(); // Hi, I am Red Green, the Handyman mike.greet(); // Hi, I am Mike mime.greet();
相关文章推荐
- javascript之BOM浏览器对象模型引入
- javascript之BOM浏览器对象模型引入
- go提交json、获取json、解析json
- 使用js几秒钟后跳转到对应的页面
- javascript之prototype原型属性案例
- javascript之prototype原型属性案例
- JS this
- 前端福利!10个短小却超实用的JavaScript 代码段
- 基于JavaScript实现回到页面顶部动画代码
- JSON之fastjson解析
- 面向对象的JavaScript-002
- JavaScript数组的栈方法与队列方法
- 面向对象的JavaScript-001
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性
- JavaScript DOM 创建元素并设置属性