`
zzc125
  • 浏览: 13429 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript中的利用原形链和对象冒充创建类

阅读更多

看到一个曾经搞过web的人的blog中说到如果学Javascript不懂原形链,就太遗憾了,所以当自己看《javascript高级程序设计》时就留意了一下,说实话,下面的代码很简单,但是不是很懂所谓的原形链和对象冒充之类的东西

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type" />
<title>继承机制的实现--实例</title>
<script type="text/javascript">
function Polygon(iSides){
this.sides=iSides;
}
Polygon.prototype.getArea=function(){
return 0;
};
function Triangle(iBase,iHeight){
Polygon.call(this,3);
this.base=iBase;//设置基本的边数
this.height=iHeight;
}
Triangle.prototype=new Polygon();
Triangle.prototype.getArea=function(){
return 0.5*this.base*this.height;
};
function Rectangle(iWidth,iHeight){
Polygon.call(this,4);
this.width=iWidth;
this.height=iHeight;
}
Rectangle.prototype=new Polygon();
Rectangle.prototype.getArea=function(){
return this.width*this.height;
};
var triangle=new Triangle(12,4);
var rectangle=new Rectangle(22,10);
alert("三角形的边数:"+triangle.sides);
alert("三角形的底边12,高4,面积为:"+triangle.getArea());
alert("四边形的边数:"+rectangle.sides);
alert("四边形的长22,宽10,面积为:"+rectangle.getArea());
</script>
</head>

<body>

</body>

</html>

分享到:
评论

相关推荐

    在js中创建类和对象

    在JavaScript中,创建类和对象是面向对象编程的基础。本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的...

    javascript对象创建

    本文将深入探讨JavaScript中的对象创建方式,包括类和继承的概念。 首先,让我们从最基础的创建对象的方式开始。在JavaScript中,可以使用字面量语法来创建一个简单的对象: ```javascript var obj = { name: '...

    在javascript中创建对象的各种模式解析

    在JavaScript中创建对象的各种模式对于掌握这门语言的面向对象编程特性至关重要。...在学习和应用这些模式的过程中,理解JavaScript中对象和函数的关系、原型链的工作原理以及函数作用域的概念是非常关键的。

    JAVASCRIPT-使用面向对象的技术创建高级 Web 应用程序

    在深入了解如何使用面向对象的技术创建高级Web应用程序之前,理解JavaScript中的对象是如何工作的至关重要。与C++或C#等语言中的对象概念不同,JavaScript中的对象更像是一个包含字符串键值对的词典。 **示例代码**...

    javascript创建对象的方式(三)

    本文将详细探讨三种主要的创建JavaScript对象的方法,并结合“源码”与“工具”的概念,来深入理解这些方式在实际开发中的应用。 一、字面量(Literal)方式 这是最简单直接的对象创建方式,通过大括号 `{}` 将属性...

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

    本指南的第二版深入探讨了JavaScript的面向对象特性,旨在帮助开发者更好地理解和应用这一编程范式。 JavaScript的面向对象主要基于三个核心概念:封装、继承和多态。封装是将数据和操作这些数据的方法结合在一起,...

    面向对象JavaScript开发

    在JavaScript中,面向对象主要通过构造函数、原型链、原型对象和闭包等机制来实现。 1. **构造函数**:构造函数在JavaScript中扮演着类的角色,它们通常用来初始化新创建的对象。我们可以通过`new`关键字调用构造...

    第15章 javascript面向对象与原型

    总的来说,JavaScript中的面向对象编程与传统的基于类的OOP有所不同,它通过原型链和构造函数来实现对象的创建和继承。正确理解并运用这些概念,可以让开发者更有效地利用JavaScript进行面向对象的编程。

    javascript对象参考手册

    最后,手册可能还会涉及面向对象编程的概念,如封装、继承和多态,以及JavaScript中的类和模块系统。这将帮助开发者构建更结构化、可维护的代码。 总的来说,"JavaScript对象参考手册"是一本全面的资源,无论你是...

    javascript创建对象的方式(一)

    在实际应用中,开发者会根据需求选择合适的对象创建方式。例如,如果需要创建大量相似的对象,构造函数和原型链可能是最佳选择;而如果想要保持数据私有,模块模式则很有效。理解并熟练运用这些创建对象的方法,将有...

    Javascript 类和对象的实现

    本文旨在深入解析几种常见的实现类和对象的方法,并探讨它们之间的差异,以及在实际应用中如何选择合适的方法。 #### 方法一:使用 {} 和 new Object 定义实例 这种方法实际上并不定义一个类,而是直接创建一个...

    JavaScript面向对象编程指南.pdf

    JavaScript是一种高级的、解释型的编程语言,它支持面向对象的编程范式,允许开发者创建对象、使用继承和多态等面向对象的特性。以下是关于JavaScript面向对象编程的一些关键知识点: 1. 对象:在JavaScript中,...

    JavaScript面向对象编程

    JavaScript是一种广泛应用于Web开发的动态脚本语言,其在创建交互式网页和应用程序时起着核心作用。在JavaScript中,面向对象编程(Object-Oriented Programming,简称OOP)是实现复杂逻辑和组织代码结构的重要方式...

    JavaScript面向对象基础.ppt

    在JavaScript中,面向对象编程(OOP)是其核心概念之一,允许开发者通过类和对象来组织和管理代码,提高代码的可重用性和可维护性。 8.1 面向对象术语 面向对象编程的基础包括类、对象、继承和多态等概念。类是对象...

    详解JavaScript基于面向对象之创建对象(2)

    原型方式是JavaScript中一种基于原型继承的机制,它允许对象共享相同的属性和方法,从而减少内存使用,并且能够利用原型链来实现继承。 标签“javascript面向对象 javascript创建对象”则明确告诉读者,文章将围绕...

    JavaScript对象创建总结

    javascript对象创建方法总结,通过这些方法的总结,可以对对象有了更深一步的了解,也加深了对对象的巩固认识。

    JAVASCRIPT 面向对象编程精要

    本文介绍了JavaScript面向对象编程的基本概念和技术细节,包括变量和对象的基础用法、函数的作用以及如何通过封装和继承来构建复杂的对象层次结构。JavaScript的独特之处在于它的灵活性和动态性,这使得它成为了一种...

    Javascript面向对象编程

    通过上述介绍,可以看出JavaScript虽然不像传统意义上的面向对象语言那样提供明确的类和对象概念,但它仍然支持面向对象编程的基本思想。利用`function`作为类的定义、`new`操作符创建对象、以及`this`和`prototype`...

    浅析在javascript中创建对象的各种模式_.docx

    在实际应用中,经常将构造函数模式与原型模式结合,以兼顾对象的初始化和方法共享。构造函数用于初始化实例属性,而原型用于添加或重写方法。 5. **原型动态模式**: JavaScript的动态性允许在运行时修改对象的...

Global site tag (gtag.js) - Google Analytics