js开发: JavaScript 中的面向对象的初步理解

我在学习JS的面向对象编程的时候,总是有两个奇怪的问题。

第一个就是:面向对象在JS中很少用到。。。  

可能是目前自己做的项目还是比较简单,前端方面的任务我几乎都是用面向过程的方式写的,所以就导致,我啃了那么久的书,代码也跟着书上的例子敲了,但好像一点收获也没有,还是不知道JS的面向对象有什么用。当然,我知道是自己目光短浅。。因为JS可是像个单身很久的家伙一样一直强调“万物皆对象”的!

第二个是:prototype 这个鬼。。。

刚开始学面向对象的时候,我仗着自己Java底子还不错,直接就去找了一个JS面向对象的实例去看。当然,看完就懵逼了.... 

然后啃书 《JavaScript高级程序设计》,看完之后彻底蒙圈。。。prototype这个鬼到底是什么鬼啊。

所以,今天去看了教学视频,感觉从视频中还是学习到了一部分经验,就来记录一下,为以后进一步研究打个基础。

首先,先说说 prototype 这个家伙。他有个很常见的称呼——原型。当初就是因为这个名字把我带进了坑里,直接导致我的学习目标变成了“我要知道原型到底是个什么鬼”。其实原型有个很好的理解方法,这是我今天在视频中学到的。

如果你要对CSS有一定的了解,那我们可以把原型看做是CSS样式中的类(class),而通过构造函数new出来的对象就像是文档中引用了这个类的元素。

因为有相同class的元素,他们的样式都相同,要写让他们其中若干个产生变化,那我们一般都会采取 行间样式(style)这种方式来修改,让他们体现不同,利用这样的特性我们可以把属性就理解成元素的行间样式。

这样理解的话会不会容易一点?反正我是有种被点化的感觉..通过这样的方式,写一个简单的面向对象的例子:

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html lang="en">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>Title</title>  
  6.     <script>  
  7.         function Person(name){  
  8.             this.name = name;  
  9.         };  
  10.   
  11.         Person.prototype.sayHello = function (){  
  12.             console.log(this.name +" say hello~");  
  13.         }  
  14.   
  15.         var tom = new Person('tom');  
  16.         var jerry = new Person('jerry');  
  17.   
  18.         tom.sayHello();  
  19.         jerry.sayHello();  
  20.     </script>  
  21. </head>  
  22. <body>  
  23.   
  24. </body>  
  25. </html>  


这样就有一点面向对象的意思了,当你运行程序  就会 看到 效果。


最后,总结一下这个简单的面向对象的方法:

构造函数加属性,原型prototype加方法,这样就实现了JS的面向对象。


以上就是我对JS面向对象的初步认识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值