JS-面向对象编程

Posted Si人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS-面向对象编程相关的知识,希望对你有一定的参考价值。

面向对象

面向对象都拥有,类和对象

类:总体来说是一个模板,是对对象的抽象

对象:是一个实例,是类的具体表现

JS、Java、C#等一些列都是面向对象的语言,然后JS和其他的有些不同,需要换一下思维

原型

与继承类似

  \'use strict\';
       let Person={
   name:"yp",
   age:20,
   score:0,
   email:"1351414677@qq.com",
       run:function(){
      console.log(this.name +" run ..");
  }
};


   let xiaoying={
       name:\'xiaoying\'
  };
//小樱的原型是人
   xiaoying.__proto__=Person;

 

function Student(name){
   this,name=namme;
}
//给Student新增一个方法
Student.prototype.hello=function(){
   alert(\'hello\');
}

 

class

在ES6中引入的class关键字

  1. 定义一个类,属性,方法

class Student{
   constructor(name){
       this.name=name;
  }
   hello(){
        alert(\'hello\');
  }
}

let xiaoming=new Student(\'xiaoming\');
let xiaoying=new Student(\'xiaoying\');
xiaoying.hello();
  1. 继承

class Student{
   constructor(name){
       this.name=name;
  }
   hello(){
        alert(\'hello\');
  }
}

class pupil extends Student{
   constructor(name,grade){
       super(name);
       this.grade=grade;
  }
   myGrade(){
       alert(\'是一名小学生\');
  }
}

本质:还是查看对象原型

 

原型链

在原型链中,实例的原型最终指向了Object.prototype,接着Object.prototype和Object形成环(Object.prototype的构造器是Object,Object 的原型是Object.prototype)

以上是关于JS-面向对象编程的主要内容,如果未能解决你的问题,请参考以下文章

js面向对象编程

JS面向对象编程

面向面试编程代码片段之GC

JS面向对象编程

JS面向对象编程

JS笔记加强版3