Javascript面向对象

一.Javascript对象
1.对象基础
对象是一个包含相关数据和方法的集合,通常由一些变量和函数组成,我们称之为对象里面的属性和方法。
一个对象由多个成员组成,每个成员都有一对键值对,需要用逗号隔离成员。
2.点表示法和括号表示法

const  person  =  {
  name:  ["张三",  "李四"],
  age:  32,
};

那么,点表示法为: person.age;
括号表示法为:person["age"];
3.设置对象成员
设置成员不仅仅可以更新已经存在的属性的值和方法,还可以创建新的成员。

person.age  =  18;//更新已有的成员
person["eyes"]  =  "黑色";//创建新的成员

4.构造函数
如果我们不想编写每一个需要使用的对象,而是希望对象是可复用的。那么我们需要用到构造函数。
构造函数只是使用new关键字调用的函数。当调用构造函数时,它将:

  • 创建一个新对象
  • 将this绑定到新对象,以便可以在构造函数代码中引用this
  • 运行构造函数中的代码
  • 返回新对象
    二.对象原型
    1.原型链
    JS 中所有的对象都有一个内置属性,称为它的 prototype(原型)。它本身是一个对象,故原型对象也会有它自己的原型,逐渐构成了原型链。原型链终止于拥有null作为其原型的对象上。
    当访问一个对象的属性时,如果在对象本身中找不到该属性,就会在原型中搜索该属性。如果仍然找不到该属性,那么就搜索原型的原型,以此类推,直到找到该属性,或者到达链的末端,在这种情况下,返回undefined。
    2.设置原型
    2.1 使用Object.create()
    Object.create() 方法创建一个新的对象,并允许你指定一个将被用作新对象原型的对象。
    2.2 使用构造函数
    在JS中,所有的函数都有一个名为prototype的属性。当你调用一个函数作为构造函数时,这个属性被设置为新构造对象的原型。
    三. Javascript 中的类
    1.类和构造对象
class  Dog  {
  name;
  constructor(name)  {
    this.name  =  name;
  }
  myDog()  {
    console.log(`小狗的名字是  ${this.name}`);
  }
}

使用class来声明一个类,在这个Dog类中,有一个name属性;一个需要name参数的构造函数,这一参数用于初始化新的对象的name属性;一个myDog() 方法,使用this 引用了对象的属性。
2.继承
使用extends关键字来声明这个类继承自另一个类。
3.分装
如何封装:将零散的的语句写进函数的花括号内,成为函数体,然后就可以调用了。
4.多态
同一操作,作用于不同的对象,可以有不同的解释,产生不同的执行结果。多态最常见的2种实现方式:重写,重载。


XY
4 声望1 粉丝

« 上一篇
GIT版本控制
下一篇 »
漏桶算法