1.封装
function Car(sColor,iDoors,iMpg){
this.color = sColor;
this.doors = iDoors;
this.mpg = iMpg;
this.drivers = new Array("Mike","Sue");
if(typeof Car._initialized == "undefined"){
Car.prototype.showColor = function(){
alert(this.color);
}
Car._initialized = true;
}
}
2.继承
a.对象冒充
function ClassA(sColor){
this.color = sColor;
this.sayColor = function(){
alert(this.color);
};
}
function ClassB(sColor){
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name = sName;
this.sayName = function(){
alert(this.name);
};
}
var objA = new ClassA("red");
var objB = new ClassB("blue","Nicholas");
objA.sayColor(); // "red"
objB.sayColor(); // "blue"
objB.sayName(); // "Nicholas"
//注意:对象冒充可以实现多重继承
b.call()方法
function ClassB(sColor, sName){
//this.newMethod = ClassA;
//this.newMethod(sColor);
//delete this.newMethod;
ClassA.call(this,sColor);
this.name = sName;
this.sayName = function(){
alert(this.name);
};
}
c.apply()方法
function ClassB(sColor ,sName){
//this.newMethod = ClassA;
//this.newMethod(sColor);
//delete this.newMethod;
ClassA.apply(this, new Array(sColor));
this.name = sName;
this.sayName = function(){
alert(this.name);
};
}
d.混合方法
function ClassA(sColor){
this.color = sColor;
}
ClassA.prototype.sayColor = function(){
alert(this.color);
};
function ClassB(sColor ,sName){
ClassA.call(this,sColor);
}
ClassB.prototype = new ClassA();
ClassB.prototype.sayName = function(){
alert(this.name);
};
分享到:
相关推荐
### 面向对象JavaScript精要 #### 一、书籍概览 本书《面向对象JavaScript精要》由Nicholas C. Zakas编写,是面向对象编程领域中的权威指南之一,尤其针对JavaScript这门语言。作者深入浅出地介绍了面向对象编程的...
面向对象JavaScript开发是现代Web开发中不可或缺的一部分,它使得JavaScript能够构建复杂、可维护的应用程序。 面向对象编程是一种基于对象和类的编程范式,它强调数据和操作数据的方法的封装。在JavaScript中,...
面向对象编程(Object-Oriented Programming,OOP)是编程的一种重要范式,JavaScript也完全支持这一特性,尽管它并非一种传统的静态类型语言。这篇博客文章可能详细讨论了如何在JavaScript中实现面向对象编程。 在...
如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的...
如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。, 《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的...
JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程...如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。
JavaScript是一种基于原型的语言,这意味着它不像传统的面向对象语言(如Java或C++)那样拥有类的概念。在JavaScript中,对象是核心,一切都可以视为对象。JavaScript的对象是动态的,即可以在运行时添加或删除属性...
现代JavaScript语言之所以可靠、健壮且强大,得益于无数聪明程序员的认同与实践,使得一些概念和用法得到了升华和普及。 面向对象的编程(OOP)在JavaScript中并不是新鲜事物。JavaScript被设计成一种彻底的面向...
JQury框架绝对是页面开发的首选,代码短小强悍,缺点就是... Javascript做面向对象开发的时候,总是会用到很多模拟面向对象特性的方法,这些方法就构成了支撑面向对象Javascript的核心代码,以下就是部分代码,其中参考
- JavaScript与传统面向对象语言的区别 - 原型链 - 构造函数 - 类与继承 - 静态属性与方法 3. **设计模式** - 单例模式 - 工厂模式 - 抽象工厂模式 - 建造者模式 - 适配器模式 - 装饰器模式 - 代理模式...
[Packt Publishing] 面向对象 JavaScript 第2版 英文版 [Packt Publishing] Object Oriented JavaScript 2nd Edition E Book ☆ 图书概要:☆ Think in JavaScript Make object oriented programming ...
- **JavaScript与OOP**:虽然JavaScript并不是从一开始就设计为面向对象的语言,但它具备了面向对象编程的所有核心特性,例如封装、继承和多态。 - **构造函数与原型链**: - **构造函数**:用于创建对象实例的...
通过上述介绍,可以看出JavaScript虽然不像传统意义上的面向对象语言那样提供明确的类和对象概念,但它仍然支持面向对象编程的基本思想。利用`function`作为类的定义、`new`操作符创建对象、以及`this`和`prototype`...
面向对象编程(Object-Oriented Programming,OOP)是JavaScript中的一个重要概念,它允许开发者通过对象来组织代码,提高可读性和可维护性。本指南的第二版深入探讨了JavaScript的面向对象特性,旨在帮助开发者更好...