javaScript面向对象是什么?(一)

js就是个面向对象语言,一切皆对象

一、什么是面向对象?

  简单点,就这么说吧。生活中有一些个物品,譬如(哈哈,还想起个譬如)说一个iPhone,我们也不知道里面的工作原理吧?但是咱们会按按钮呀,用一俩天就会用了, oh my god,不知道原理就会用,好厉害。

  那么javaScrip中的自带方法Date对象都知道吧, 这兄弟有个儿子(闺女也行,你说什么就是什么)getMonth的方法,那你知道它是怎么知道现在是哪个月吗?不知道。管他呢,但是me会用

  其实呢,我们不需要知道原理就可以用它的功能,就是面向对象。

   其实对象就是一个整体,对外提供一些功能和操作,而你不知道它内部是怎么操作的。在编程中我们叫面向对象,在生活中也有,但是叫法不一样

  在编程中,就像jQuery,你知道它的$('div') 怎么货取到的DOM对象吗,不知道。(‘’我知道‘’,‘去一边去,你是看了源码。你拆机了,你能不知道?’)只要知道它干嘛的就行,那他是不是面向对象编程的呢?

二、面向对象特点

1、抽象:抽指把核心的东西抽出来,把与我们要解决的问题有关的东西拿出来摆在面前 

2、封装:让使用对象的人不考虑内部实现,只考虑功能使用  把内部的代码保护起来,只留出一些个api接口供用户使用

3、继承:就是为了代码的复用,从父类上继承出一些方法和属性,子类也有自己的一些属性 

4、多态:实际上是不同对象作用与同一操作产生不同的效果。多态的思想实际上是把“想做什么”和“谁去做“分开

三、对象的组成

1、方法   函数:过程、动态的

2、属性   变量:状态、静态的

四、this       当前的方法属于谁就是谁

例如点击事件里的this,其实就是触发事件的那个dom对象的onclick方法里的this,当然是人家自己咯

 再比如说一个函数里的this,这个函数都属于window的一个方法,当然里面的this也是window咯

  还有哦,不要在系统对象上面添加属性和方法,这样不太好

 那么在谁身上加呢?在object这个对象身上,别的date呀array呀,这些对象都是有一些个好玩的功能的,

  object也就自己最强大的一个功能就是,没有功能~~~~ 这样咱们就可以随意给他加属性和方法而不用去想会不会覆盖了

五、创建对象的方法

1、最基础的

1 var obj = new Object() 2 obj.name = 'shizhikai' 3 obj.age = '3岁' 4 obj.showAge = function(){ 5 console.log(this.age) //这个this是谁?知道吗? obj 6 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgfgz.html