`

javascript 面向对象编程 万物皆对象

阅读更多

javascript几乎成了如今web开发人员必学必会的一门语言,但很多人却只停在了一些表单验证等基础操作层面上,在面向对象语言大行其道的当下,我们需要去学习javascript的面向对象的知识,以便更好的掌握javascript、为深入理解各种脚本框架打好基础。
javascript和java、C#等语言一样也具有面向对象的一些特征,但细比较的时候,会发现这些特征并不是真正的面向对象,很多地方都是利用对象本身来模拟面向对象,所以认为javascript不能算是面向对象编程语言,而是基于对象的语言。
在javascript中真的是万物皆对象,new出来的东西是对象,方法是对象,连类也都是对象。下面分别来看一下对象、方法和类的对象特征。
1.拿内置的Date来看一下吧
复制代码 代码如下:
var time = new Date();
var timeString = time.getFullYear() + "-" +
time.getMonth() + "-" +
time.getDate() + " " +
time.getHours() + ":" +
time.getMinutes() + ":" +
time.getSeconds();
document.write(timeString);

通过 time来操作其所引用的Date对象,可以方便的调用Date的对象所包含的一系列getXX()方法来获取年月日时分秒等信息。
可以再看一下String
复制代码 代码如下:
var username = new String("hello world");
document.write(username.length);

变量username引用了new出来的字符串对象,通过username访问字符串对象的length属性。
2.方法也是对象
复制代码 代码如下:
function hello() {
alert("hello");
};
var helloRef = hello;
helloRef();

hello是一个方法,helloRef是一个引用了hello方法的变量,helloRef和hello一样都指向了相同的方法对象。也就意味着helloRef也可以执行,helloRef()。同理也可以写出以下代码。
复制代码 代码如下:
var helloRef = function() {
alert("hello");
};
helloRef();

function(){alert(“hello”)}是一个匿名方法,当然也是对象,用helloRef变量引用该方法对象后,可以通过helloRef来调用方法。
3.那么类呢?当然类也是对象,在javascript中,不像C#或java那样有class关键字用来创建类,而是直接使用方法的关键字来创建类或者叫模拟类。
复制代码 代码如下:
function Person(username, age) {
this.Name = username;
this.Age = age;
this.Introduce = function() {
alert("我叫" + this.Name + ",今年" + this.Age + "岁了。");
};
};
var person1 = new Person("张三", 20);
person1.Introduce();

以上创建了一个Person类型,Person带有构造参数username和age,通过创建的Person对象可以调用Person所包含的方法Introduce。下面对代码做一些修改。
复制代码 代码如下:
function Person(username, age) {
this.Name = username;
this.Age = age;
this.Introduce = function() {
alert("我叫" + this.Name + ",今年" + this.Age + "岁了。");
};
};
var PersonClass = Person;
var person1 = new PersonClass("张三", 20);
person1.Introduce();

重新声明新的变量PersonClass并引用Person类,PersonClass和Person都指向了原来的Person所引用的类,所以也可以用PersonClass来创建对象。
以上的几个例子可能不是很恰当,但也可以一窥javascript中万物皆对象。
下一节详细的谈一谈javascript中的对象。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    面向对象基础和使用方法

    面向对象编程是一种编程范式,它使用“对象”来设计软件。对象可以被视为一组属性(数据)和方法(行为)的封装体。 #### JavaScript是否为面向对象语言? - **不是面向对象语言的传统定义**:从传统意义上讲,如...

    oop-js-platzi:@juandc 在 @Platzi 上的 JavaScript 面向对象编程课程

    JavaScript 面向对象编程(OOP)是编程领域中的一个重要概念,特别是在Web开发中,JavaScript作为客户端的主要脚本语言,其OOP能力对于构建复杂、可维护的应用至关重要。@juandc 在 @Platzi 的课程中深入探讨了这个...

    javascript高级编程

    面向对象编程(OOP)在JavaScript中占据重要地位。通过构造函数、原型链和类(ES6引入)来创建和继承对象,理解这些机制能帮助我们构建可维护和扩展的代码结构。此外,模块系统(如CommonJS和ES6的import/export)也...

    javascript 面向对象实战思想分享

    首先,我们要理解"万物皆对象"的概念。这意味着我们可以将任何复杂的事物抽象为对象,这些对象拥有特定的属性(即特征)和方法(即动作)。比如,在设计一个购物车系统时,我们可以创建"商品"和"购物车"两个对象。...

    java面向对象精华总结.doc

    2. **万物皆对象** 在Java中,任何事物都可以被抽象为对象。对象是对现实世界中某个实体的模拟,包含了该实体的属性(成员变量)和行为(成员方法)。类是对象的蓝图,描述了具有相同属性和行为的一组对象的通用...

    JavaScript手册

    总的来说,JavaScript的面向对象编程模型提供了丰富的工具,使开发者能够灵活地组织和管理代码,创建复杂的应用程序。理解并熟练掌握JavaScript的对象系统对于任何Web开发者来说都是至关重要的。

    Javascript经典实例集锦

    9. **面向对象编程**:JavaScript支持基于原型的面向对象编程,包括构造函数、实例化、原型继承和方法重写。 10. **ES6及以后的新特性**:包括箭头函数、解构赋值、模板字符串、let和const、类与模块、Promise、...

    突破JavaScript编程实例五十讲解.rar

    3. **对象和原型链**:JavaScript的万物皆对象,对象可以通过构造函数和字面量方式进行创建。原型链是JavaScript实现继承的关键机制,理解这一点对于掌握面向对象编程至关重要。 4. **DOM操作**:文档对象模型(DOM...

    JavaScript应用程序经典实例全书源码

    对象可以通过键值对存储数据,而原型链则用于对象之间的继承,是理解JavaScript面向对象编程的关键。 3. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的结构化表示,JavaScript通过DOM API可以操作...

    JavaScript 核心教程 从菜鸟到老鸟

    JavaScript的万物皆对象,每个对象都有一个内部[[Prototype]]链接,通常通过__proto__或Object.getPrototypeOf访问。原型链是JavaScript继承的基础,理解原型、构造函数和实例之间的关系,能帮助我们更好地实现面向...

    精通javascript光盘实例.rar

    在JavaScript中,万物皆为对象,对象的创建和属性访问方式、原型链的理解以及如何使用构造函数和原型模式进行面向对象编程是关键。此外,闭包和作用域也是JavaScript中的重要特性,它们对于函数的封装和模块化有重大...

    javascript原理参悟

    JavaScript虽然不是一种纯粹的面向对象语言,但它支持面向对象编程的一些特性,比如对象创建、原型链继承等。 #### 三、JavaScript的简朴之美 在理解JavaScript的核心原理时,我们需要回归到最简单的数据与代码的...

    Head First Javascript.rar

    3. **对象与原型链**:JavaScript的万物皆对象,包括函数也是对象。书中会讲述对象的创建、属性和方法的访问,以及原型和原型链在继承中的作用。 4. **数组和集合**:数组是存储一组有序数据的数据结构,书中会涵盖...

    「JavaScript学习资料整理」系列,构建JavaScript前端知识体系,积累JavaScript前端开发经验.zip

    首先,JavaScript是一种解释型的、面向对象的、动态类型的脚本语言。它主要应用于Web浏览器,但也可在服务器端(如Node.js)和其他环境运行。JavaScript的学习应从基础语法开始,包括变量声明、数据类型(如字符串、...

    JavaScript The Definitive Guide 6th Edition

    3. **对象与原型**:JavaScript的万物皆对象,书中详细讲解了如何创建和操作对象,包括字面量语法、构造函数、原型链、原型继承以及对象的属性和方法。 4. **函数与闭包**:函数是JavaScript的核心,不仅用于代码...

    JavaScript傻瓜指南下载

    JavaScript是一种解释型、面向对象的脚本语言,最初由Netscape公司的Brendan Eich设计,用于增强网页的交互性。它不同于Java,尽管它们在名称上相似。JavaScript主要运行在浏览器环境中,但随着Node.js的出现,现在...

    悟透JavaScript

    "这句描述似乎暗示了JavaScript中的核心概念——万物皆对象,类型动态转换,以及其简洁的哲学思想。 首先,让我们从“对象本无根”这句话入手。在JavaScript中,一切皆为对象,包括基本类型如数字、字符串和布尔值...

    javascript学习笔记

    9. **面向对象编程**:尽管JavaScript是基于原型的,但通过类(class)和实例(instance)可以实现面向对象编程,模拟类继承和多态。 10. **错误处理**:学习如何使用try...catch处理运行时错误,并了解不同类型的...

Global site tag (gtag.js) - Google Analytics