JavaScript入门(六)-阿里云开发者社区

开发者社区> 开发与运维> 正文

JavaScript入门(六)

简介:
对象

对象是我们使用JavaScript的核心。JavaScript中的对象在许多方面和编程外的现实世界中的对象是相似的(它并不存在,我只是做个设想)。在现实的世界中,一个对象就是一个“事物”(许多关于面向对象编程的书中把对象比喻成名词):一个汽车,一个桌子,一个椅子,还有我敲打的键盘。对象拥有:

属性(可比作形容词):这个汽车是红色的。

方法(像一个句子里的动词):启动汽车的方法可能是拧动点火器

事件:拧动点火器导致了汽车启动事件。

       面向对象的编程(OOP)试着通过给真实世界中的对象建模来使编程更加容易。让我们来创建一个汽车模拟器。首先,我们会创建一个汽车对象,给它一些属性,如颜色和当前速度。接着我们需要创建方法:可能一个start方法来启动汽车,一个break方法来给汽车减速,在其中我们需要传递刹车的需要按得力度大小消息来决定减速的效果。最后,我们需要一些事件,例如,汽油过低的事件提醒我们去给汽车加油。

 

面向对象的编程涉及这些概念。这种设计软件的方式现在在许多的编程领域都非常通用和流行——但对我们最重要的就是,它是JavaScript和网页编程的核心。

       我们使用的一些对象是JavaScript这种语言规范提供的一部分:String对象,Date对象,以及Math对象等等。同样的JavaScript对象会在一个PDF文件或者一个网页服务器中提供。这些对象提供了许多有用的功能,可以节省我们大量的编程时间。举例来说,Date对象,允许你从客户端获取当前的日期和时间(如一个用户的PC)。它保存着日期,还提供了许多与日期相关的许多有用的函数,如,把一个时区的日期/时间转换为另一个时区的。这些对象通常被称作核心对象,因为它们是独立于实现的。浏览器它自己同样也提供通过对象来编程,它允许我们获取浏览器的相关信息,并改变应用的视觉效果。举个例子,浏览器提供Document对象,它在JavaScript中代表一个网页。我们可以在JavaScript中使用这个来为被浏览器的用户查看的页面添加新的HTML元素。如果你曾在不同的主机中使用JavaScript, 假设使用一个Windows服务器你会发现JavaScript主机提供了一组非常不同的主机对象集合,它们的功能是与你在服务器上所作的事情相关的。

你会在第三章中发现,JavaScript允许我们创建自己的对象。这是一个非常强大的特性,允许我们使用JavaScript为现实世界的问题进行建模。创建一个新的对象,我们需要使用一个模版来制定它的属性和方法,它叫做类(class。一个类与建筑师的图纸有点类似,它指定了什么东西应该到什么地方去做什么事情,但是它实际上并没有创建对象。

                                                                                 

n        注解:JavaScript是基于对象的语言还是面向对象的语言,这个问题存在一些争论。 不同之处在于基于对象的语言使用对象来编程但是不允许编码者在他们的代码设计中使用面向对象编程。面向对象的语言不只使用对象,也允许使用面向对象的方法来简化开发和代码设计。 JavaScript允许我们创建我们自己的对象,但是与JavaC#等基于类的语言实现方式不同。无论如何,我们在这里不要集中在争论什么是或不是面向对象的,而应该关注实际在这本书上对象是如何应用的,我们会在需要的地方关注一些基本的面向对象编程。

                                                                                 

 

当你通读完本书后,你会对对象有个更深的认识:JavaScript的核心对象、浏览器提供的使用JavaScript进行访问和操作的对象和创建自己定义的对象。到目前为止,所有你需要知道的就是JavaScript中的对象就是你可以用来给网页中添加功能的“实体”,他们可以拥有属性和方法。Math对象,举例来说,在它的属性中有一个是表示pi的值,在它的方法中有一个可以产生随机数。









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/76841,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章