面向对象

面向对象

1、概念:

不是一种语法, 是一种编程的方式。OOP代表面向对象的英文单词的首拼,单词全拼是Object Oriented Programming。

js中的面向对象编程,就是创建对象,给对象添加属性和方法

2、对象的创建方法:

var obj = {};

var obj = new Object();

语法:

对象.属性名 = 值;
对象.方法名 = 函数;

3、工厂函数创建对象:

function createObj(name,age,sex){
  var obj = new Object();
  obj.name = name;
  obj.age = age;
  obj.sex = sex;
  return obj;
}
var obj1 = createObj("张三",12,"男");
var obj2 = createObj("李四",13,"女");
var obj3 = createObj("王五",11,"女");

优点:可以同时创建多个对象

缺点:创建出来的没有具体的类型(比如是Array和Number),都是object类型的,但我们看到自己的对象只是object,不知道具体是什么类型。

 

 

 解决方案:自定义构造函数。其实相当于自己写一个函数,专门用来new对象,我们自己创建出来的对象之所以都是Object,是因为我们创建对象的时候使用的是new Object,Object也是系统内置的一个构造函数。

4、自定义构造函数

function Tab(){

  

}

new Tab()

5、面向对象创建的步骤:

面向对象编程步骤:

  1. 创建空的构造函数
  2. New- 参数
  3. 在构造函数中将所有要操作的元素作为对象的属性
  4. 给需要添加事件的元素绑定事件

    (1) 绑定事件交给一个初始化方法去做

    (2) 对事件的处理交给另外的方法去处理

 6、原型:

  (1)任何对象都有__proto__属性,指向原型对象

  (2)任何函数都有prototype属性,指向原型对象

  (3)任何原型对象都有constructor属性,指向构造函数

  对象访问属性或方法的时候,先在自身找这个属性或方法,如果自身没有,就会去原型上找,原型上没有,就会去原型的原型上找,沿着原型链会一直找到null,如果到null也没有找到,会返回undefined,如果是在调用函数,将undefined看成是一个函数调用了,会报错

 

 

 7、原型链

 

 8、用面向对象实现tab选项卡

 

 

 

 

posted @ 2020-07-14 21:28  ShiChunli  阅读(63)  评论(0)    收藏  举报