<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Javascript 面向对象编程小结</title>
<script src="JSLogger.js" debug="true"></script>
<script language="javascript">
var cat ={Name:'tom',Color:'red'};
JSLogger.log(cat);
for(var p in cat){
//JSLogger.log("p = "+p);//对象的各个属性 :Name,Color
}
var arr = ["a","b","c"];
for(var p in arr){
//JSLogger.log("p = "+p);//数组的是索引: 0 1 2
}
function Cat(name,color){
this.Name = name;
this.Color = color;
}
var cat1 = new Cat("Tom","black");
//通过prototype方法给cat的原型对象Cat添加一个方法say或者属性,这样cat的原型Cat的每个实例化的对象都具有了这个方法say
Cat.prototype.say = function(){
JSLogger.log("my name is "+ this.Name);
}
cat1.say();
JSLogger.log(cat1);
JSLogger.log("Name" in cat1);//使用in判断某个对象时候具有一个属性
//使用apply实现继承
function Animal(age){
this.Kind="动物";
this.Age = age;
}
function Dog(name,color,age){
Animal.apply(this,[arguments[2]]);
//解释:将Animal的上下文对象换成this就是Dog对象,然后执行Animal的构造方法,即this.kind = '动物',所以Dog有了kind属性,而且Kind="动物"
// 同时将Dog构造方法的第三个参数age的值,拼成数组传递给Animal的构造方法,所以Dog有了Age属性,而且Age = 参数age
this.Name = name;
this.Color = color;
}
var dog = new Dog("Tom","red",23);
JSLogger.log(dog);
//通过prototype实现继承
//Dog.prototype = new Animal();
//Dog.prototype.constructor = Dog;
var Chinese = { nation:'中国',fullName:"中华人民共和国" };
//var Doctor ={ career:'医生' }
//将JS格式的{}对象转换成function方法 (很牛逼)
function object(o) {
function F() {};//生成一个空的function对象F
F.prototype = o;//将F的构造指向作为参数传入的o,那么F将具有o的所有属性
return new F();//然后返回一个F的实例,也就是返回了一个新的function对象,同时也具备了o的所有属性
}
var Doctor = object(Chinese);
//说明:上述方法和 var Doctor = Chinese的区别是:使用object方法是复制chinese的属性,而赋值方法是指针引用,对Doctor的改变也会改变Chinses
//Doctor.prototype.Age = 32;//因为object方法中 进行了F.prototype = o的设置,所以F失去了prototype的属性
Doctor.Age = 32;//给对象添加新的属性。
JSLogger.log(Chinese);//fullName=中华人民共和国 --nation=中国
JSLogger.log(Doctor);//Age=32 fullName=中华人民共和国 nation=中国
</script>
</head>
<body>
</body>
</html>
分享到:
相关推荐
### JavaScript面向对象创建对象的方式小结 #### 一、引言 在JavaScript中,面向对象编程(OOP)是一种非常重要的编程范式。它通过创建和操作对象...希望本文能够帮助开发者更好地理解和应用JavaScript面向对象编程。
JavaScript是一种广泛应用于Web开发的脚本语言,尤其在面向对象编程方面有着丰富的特性和实践。在本文中,我们将深入探讨JavaScript中的面向对象编程,主要关注工厂方法、构造函数模式以及如何处理共有的方法。 ...
在JavaScript中,面向对象编程是一种常见的编程范式,它允许我们通过类和对象来组织代码。虽然JavaScript并不完全遵循传统的面向对象模型,如Java或C++,但它提供了独特的面向对象特性,使其能够实现类似的功能。 ...
### 面向对象程序设计课程设计任务书详解 #### 设计题目概述 本次课程设计的任务是开发一个基于Web的新闻发布系统。系统采用的技术栈包括MyEclipse作为开发环境、JSP作为前端技术以及数据库用于数据存储。系统分为...
本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。此外,本书还讨论了各种与面向对象概念密切相关的应用主题,包括XML、UML建模语言...
随着对JavaScript面向对象编程的深入理解,开发者可以根据具体需求灵活选择创建对象的方法。此外,网站上的专题《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧...
在本文中,我们主要探讨了JavaScript面向对象编程的两种实现方法,这两种方法是JavaScript中实现面向对象编程的典型技巧,适合读者朋友们在开发过程中参考和借鉴。 首先,面向对象编程(Object-Oriented ...
面向对象编程在 JavaScript 中虽然不像其他语言那样直观,但通过巧妙地利用函数、`this` 关键字和原型链,可以实现灵活而强大的面向对象设计。掌握这些概念不仅有助于编写更高效、更易于维护的代码,还能更好地理解...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序设计成由多个相互作用的对象组成的集合。在JavaScript中实现面向对象编程有多种方式,包括使用对象字面量(Literal Notation)、构造...
JavaScript是一种面向对象的编程语言,它的核心特性包括封装、聚集、继承和多态。封装允许我们将数据和相关的方法组织在一起,形成对象。聚集则是将一个对象包含在另一个对象内部,以此构建复杂的数据结构。继承使得...
JavaScript作为一门面向对象的编程语言,它提供了多种本地对象供开发者使用。其中,Array对象作为常用的一种本地对象,常常被用来存储一系列的值。Array对象的使用,包括创建、属性、方法以及应用等方面的知识点,是...
4.1 面向对象编程与基于对象编程 4.1.1 什么是对象 4.1.2 面向对象编程 4.1.3 面向对象编程:继承 4.1.4 面向对象编程:封装 4.1.5 面向对象编程:多态 4.1.6 基于对象编程 4.2 JavaScript对象的生成 4.2.1 HTML文档...
在JavaScript编程中,面向对象编程是处理复杂问题的一种常用方法。在面向对象的编程范式中,类和对象扮演了非常重要的角色。类可以理解为创建对象的模板,而对象则是类的具体实例。JavaScript是一种基于原型的面向...
JavaScript是一种脚本语言,虽然它在传统的面向对象编程特性上可能不如Java或C++那样完全,但确实提供了面向对象的概念,如对象、继承和多态。以下是对JavaScript创建对象的四种常见方式的详细解释: 1. **使用字面...
《Object-Oriented JavaScript》这本书为读者提供了深入理解面向对象编程在 JavaScript 中应用的机会。通过学习本书中的技巧和技术,开发者能够构建出更高效、更具扩展性的应用程序。无论是初学者还是有经验的开发...