在创建一个对象的时候,js有三种可以选择的方法
1. Factory Pattern
function createCourse(number, room, teacher){ var course = new Object(); course.number = number; course.room = room; course.teacher = teacher; course.toString = function(){ return 'The course '+this.number+' is taken in room '+this.room+' by teacher '+this.teacher; }; course.showCourse = function(){ document.write(this); }; return course; } var c1 = createCourse(1, 'R110', 'Mike'); c1.showCourse();
2. Constructor Pattern
function Course(number, room, teacher){ this.number = number; this.room = room; this.teacher = teacher; this.toString = function(){ return 'The course '+number+' is taken in room '+room+' by teacher '+teacher; }; this.showCourse = function(){ document.write(this); }; }; var c2 = new Course(2,'T101', 'Matti'); c2.showCourse();
3. Prototype Pattern
function Course2(){ } Course2.prototype.number = 'No course number'; Course2.prototype.room = 'No room number'; Course2.prototype.teacher = 'No teacher'; Course2.prototype.toString = function(){ return 'The course '+this.number+' is taken in room '+this.room+' by teacher '+this.teacher; }; Course2.prototype.showCourse = function(){ document.write(this); }; var c3 = new Course2(); c3.showCourse();
Prototype Pattern在内存和资源的利用上要更有效些,prototype pattern可以给对象设置默认值和默认方法
“Another alternative is the Prototype Pattern. With this pattern, memory and resources are used more effeciently as multiple objects share resources. The Constructor fuction boyd is (typically) null. Prototypies and functions are assigned to the constructed object's prototype. Prototype is a default property within and object that contains properties and methods available to all instances of that object. This technique allows defining 'default values' for objects and object functions. The object creation and call does not specify property values." -- 《Advanced Topics in Web Development - Fall 2011》
相关推荐
构造函数模式是JavaScript中的一种重要设计模式,用于创建对象。本文将深入探讨构造函数模式及其应用。 构造函数模式的核心在于使用函数来创建具有相似属性和方法的对象。在JavaScript中,函数可以作为构造函数来...
2. 结构型模式:这类模式处理对象组合和结构,如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式和享元模式。在JavaScript中,装饰器模式尤其受到重视,它可以在不修改原有对象的基础上动态地添加...
组合模式是将对象组合成树形结构,以表示部分整体的关系。它的主要作用是使客户端代码可以统一地处理单个对象和组合对象。 6. 门面模式(Facade Pattern): 门面模式是提供一个统一的接口来访问一个子系统的多个...
在编程领域,设计模式主要有三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建过程,提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new直接实例化对象。常见的创建型模式有工厂...
以下是对标题和描述中提到的几种JavaScript面向对象编程模式的详细解释: 1. **构造函数与字面量结合模式** 在JavaScript中,我们可以通过构造函数和字面量语法来创建对象。构造函数用于定义对象的类型,而字面量...
首先介绍了什么是模式、模式的结构、类别、模式的分类、如何编写模式等等;然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和...
4. **装饰者模式(Decorator)**:动态地给对象添加新的行为或职责,不改变其原有的结构。在JavaScript中,可以用于为对象添加额外功能,如AOP(面向切面编程)。 5. **模块模式(Module)**:JavaScript中,可以...
设计模式是解决常见问题的经过验证的解决方案,它们提供了良好的代码结构和可重用性。在JavaScript中,由于其独特的原型继承和动态类型,理解并运用设计模式能帮助开发者编写更高效、更易于维护的代码。 二、基本...
JavaScript设计模式是编程实践中的一种重要概念,它是为了在JavaScript环境中编写更加高效、可维护和可扩展的代码而形成的一套通用解决方案。这个"JavaScript设计模式Demo"可能包含了各种常见的设计模式示例,如单例...
**构造函数模式**是JavaScript中的核心概念,它允许我们创建具有特定属性和方法的对象。然而,简单的构造函数不能实现继承,因此书中详细探讨了如何通过原型链、借用构造函数和组合使用这两种方式来实现**继承**。 ...
- **构造器模式**:一种创建型模式,通过构造函数来实例化对象。 - **模块化模式**:用于组织代码,使其结构清晰,易于管理。 - **单例模式**:确保一个类只有一个实例,并提供一个全局访问点。 - **观察者模式**:...
JavaScript设计模式是编程实践中的一种重要思想,它提供了一套经过时间考验的最佳实践,用来解决常见的编程问题和提高代码的可维护性、可扩展性和可复用性。在JavaScript这种动态类型的脚本语言中,设计模式尤其重要...
JavaScript设计模式是编程实践中一种重要的思想,它通过总结和提炼出一套可复用的解决方案,帮助开发者解决在软件开发过程中遇到的常见问题。设计模式并不是特定的语言特性,而是跨越多种编程语言的一般性原则和最佳...
在JavaScript编程中,构造函数模式和原型模式是两种常见的面向对象编程(OOP)方式。这两种模式各有优势,结合使用能够更好地实现代码复用和封装,提高代码的可维护性和扩展性。 #### 二、构造函数模式 构造函数模式...
JavaScript OOP(面向对象编程)模式是编程领域中一种重要的设计思想,它允许开发者通过类和对象来组织和管理代码,提高代码的可重用性和可维护性。在这个讲解中,我们将深入探讨JavaScript中的OOP模式,特别是如何...
### JavaScript Patterns (JavaScript模式) #### 一、简介 在IT领域,《JavaScript Patterns》是一本备受推崇的专业书籍,它深入探讨了JavaScript编程中的各种设计模式与最佳实践。本书由才华横溢的Stoyan ...
JavaScript是一种广泛应用于Web开发的脚本语言,尤其在构建交互式和动态网页方面扮演着重要角色。面向对象编程(Object-Oriented Programming, OOP)是JavaScript中的核心概念,而设计模式则是解决常见编程问题的...