`
qiannianhua
  • 浏览: 18903 次
社区版块
存档分类
最新评论

Javascript 面向对象编程:用构造函数模式创建对象

 
阅读更多

       在ECMAScript中的构造函数可用来创建特定类型的对象,想Object和Array这样的原生构造函数,在运行是会自动出现在执行环境中。因此,可以创建自定义的构造函数,从而定义对象类型的属性和方法。

      1、如下例子,使用构造函数创建原型对象:

function Person(name,age){
    this.name=name;
    this.age=age;
               this.sayName = function(){alert(this.name)};
  }

         注意:

                 1)、函数名Person使用的是大写字母P;

                 2)、构造函数本身也是函数,之不过可以用来创建对象而已。

 

    2、要创建Person的新实例,必须使用new操作符:

var person1 = new Person("zhangsan",20);
var person2 = new Person("lisi",21);
alert(person1.name); 
alert(person1.age); 

         调用构造函数会经历一下4个步骤:

         1)、创建一个新的对象;

         2)、将构造函数的作用域赋给新对象;

         3)、执行构造函数中的代码;

         4)、返回新对象。

 

3、将构造函数当作函数:构造函数与其他函数的唯一区别,就在于调用它们的方式不同,不过构造函数毕竟也是函数,不存在定义构造函数的特殊语法。

      1)、当作构造函数使用:

var person = new Person("zhangsan",20);  
person.sayName();    //"zhangsan"

     展示了构造函数的典型用法,即使用new操作符来创建一个新对象。

        2)、作为普通函数使用:

Person("lisi", 21);          //添加到window
window.sayName();          //"lisi"

     展示了不使用new操作符调用Person()会出现什么结果:属性和方法都被添加给window对象了。

       3)、在另一个对象的做的作用域中调用:

var a = new Object();
Person.call(a, "zhangsan", 20);
a.sayName();                        //"zhagnsan"

     使用call()在某个特殊的对象的作用域中调用Person()函数。

分享到:
评论

相关推荐

    Javascript面向对象编程.

    在提供的资源中,《代码之美》PDF文件可能包含了关于编程实践和代码风格的指导,而《Javascript面向对象编程》PPT可能更具体地阐述了JavaScript OOP的细节和示例。学习这些材料将有助于深入理解JavaScript的面向对象...

    JavaScript面向对象编程指南.pdf

    JavaScript面向对象编程是指在JavaScript语言中使用面向对象的方法来编写程序。JavaScript是一种高级的、解释型的编程语言,它支持面向对象的编程范式,允许开发者创建对象、使用继承和多态等面向对象的特性。以下是...

    JavaScript面向对象编程指南(第2版).rar

    JavaScript是一种广泛...通过深入学习这本《JavaScript面向对象编程指南(第2版)》,开发者不仅能掌握JavaScript的面向对象编程基础,还能了解到实际项目中如何有效地运用这些知识,提升编程技巧和解决问题的能力。

    JavaScript面向对象编程指南 pdf

    下面将详细探讨JavaScript面向对象编程的基本原理、特性以及实际应用。 1. **类与对象** - 在JavaScript中,对象是键值对的集合,可以通过字面量语法或构造函数创建。例如: ```javascript const person = { ...

    JavaScript面向对象编程指南

    这些只是JavaScript面向对象编程的一些基本概念和技巧,实际应用中还有更深入的模式和策略,如模块化、设计模式等。理解并熟练运用这些概念,将有助于你编写出更加高效、可维护的JavaScript代码。

    Javascript面向对象编程

    ### JavaScript面向对象编程详解 #### 一、引言 JavaScript作为一种广泛使用的脚本语言,在Web开发领域占据着举足轻重的地位。尽管JavaScript本质上是一种基于原型的语言,但它也支持面向对象编程的一些特性,使得...

    javascript面向对象编程的几种模式详解

    以下是对标题和描述中提到的几种JavaScript面向对象编程模式的详细解释: 1. **构造函数与字面量结合模式** 在JavaScript中,我们可以通过构造函数和字面量语法来创建对象。构造函数用于定义对象的类型,而字面量...

    JavaScript面向对象编程案例

    `JavaScript面向对象编程讲解.pptx`可能提供了更详细的理论解释和更多示例,帮助读者深入理解面向对象编程在JavaScript中的应用。 学习JavaScript面向对象编程,不仅有助于理解代码的结构和复用性,还有助于提高...

    javascript 面向对象编程.pdf javascript 设计模式与开发实践.pdf

    "JavaScript 面向对象编程指南 第2版 .pdf"可能会涵盖如何使用构造函数、原型和实例来创建和操作对象,以及如何利用ES6的类语法。另一方面,"JavaScript 设计模式与开发实践.pdf"可能会详细讲解各种设计模式的原理、...

    javascript面向对象编程PDF

    原型是JavaScript面向对象编程的一个核心概念,每个对象都有一个原型对象,通过它可以继承其他对象的属性和方法。 程序示例分析: 在文档提供的代码示例中,Lecture类和Schedule类展示了如何在JavaScript中实现面向...

    Javascript 设计模式之构造函数模式.zip

    总结,JavaScript的构造函数模式是创建对象的主要方式之一,它结合原型和原型链提供了面向对象编程的基础。理解并掌握这一模式有助于编写可维护、可扩展的代码。在实际开发中,构造函数模式常常与其他设计模式(如...

    javascript面向对象编程(中文).pdf

    ### JavaScript面向对象编程知识点概述 #### 一、现代JavaScript编程概览 - **JavaScript的演进**:自诞生以来,JavaScript经历了从一个简单的脚本语言到现今被广泛应用于构建复杂应用的强大编程语言的过程。它的...

    JavaScript面向对象编程

    JavaScript面向对象编程是一种基于原型(Prototype)的编程范式,它是动态类型语言,允许开发者创建具有复杂特性的对象。在JavaScript中,面向对象主要通过构造函数、原型链和闭包来实现。以下是对这一主题的详细...

    JavaScript 面向对象编程

    ### JavaScript面向对象编程详解 #### 一、JavaScript面向对象编程简介 JavaScript作为一种广泛使用的脚本语言,虽然起源于一种简单的浏览器脚本环境,但随着时间的发展,它已经演变为一种功能强大的编程语言,...

    javascript工厂模式和构造函数模式创建对象方法解析.docx

    构造函数模式是另一种常用的创建对象的方式,它可以更好地模拟面向对象编程中的类的概念。 **2.1 构造函数模式的基本概念** 构造函数模式使用一个函数作为构造器,该函数通常首字母大写以示区别。通过使用 `new` ...

    JAVASCRIPT 面向对象编程精要

    ### JavaScript面向对象编程精要 #### 一、引言 JavaScript是一种灵活且强大的脚本语言,它虽然起源于一种简单的浏览器脚本语言,但随着时间的发展,JavaScript已经成为了一种功能全面的编程语言,尤其是在Web开发...

    Javascript 面向对象编程

    ### JavaScript面向对象编程详解 #### 一、JavaScript与面向对象编程 JavaScript虽然是一种基于对象的语言,但其设计并不像传统的面向对象编程语言那样拥有明确的类(class)概念。这使得在JavaScript中实现面向...

    面向对象JavaScript精要(英文原版pdf)

    作者深入浅出地介绍了面向对象编程的基本原理以及如何将这些原理应用于JavaScript中。 #### 二、面向对象编程基础 面向对象编程(OOP)是一种软件开发方法,它通过将数据和处理这些数据的方法捆绑在一起形成“对象”...

Global site tag (gtag.js) - Google Analytics