JavaScript基础


  1. JavaScript 面向对象
  • 封装
  1. 类:封装对象的属性和行为
  2. 方法:封装具体逻辑功能
  3. 访问封装:对其访问权限进行封装
  4. 查看代码
    class Employees {
        constructor(name,age){
            this.name = name;
            this.age = age;
        }
        getInfo(){
            let {name,age} = this;
            return {name,age};
        }
        static seyHi(){
            console.log("Hi");   
        }
    
    }
    
    let lisi = new Employees("Aaron",18);
    lisi.seyHi();   // lisi.seyHi is not a function
    lisi.getInfo();  // {name: "Aaron", age: 18}
    Employees.seyHi();  // Hi 这里使用了static对seyHi方法对其进行了访问权限的封装。
    总结:封装可以隐藏实现细节,使得代码模块化
  • 继承
  1. 子类继承父类后(子类的功能要比父类多或者相同)
  2. 可重新定义某些属性,并重写某些方法,即覆盖父类原有的属性和方法,使其获得与父类不同的功能
  3. 查看代码
    
    class Employees {
        constructor(name){
            this.name = name
        }
        getName(){
            console.log(this.name)
        }
        static seyHi(){
            console.log("Hi")
        }
    }
    class java extends Employees {
        constructor(name){
            super(name)
        }
        work(){
            console.log("我做后台")
        }
        static seyHi(){
            console.log("Hi")
        }
    }
    
    let java = new Java("Aaron");
    java.getName();
    java.work();
    java.seyHi();    //  java.seyHi is not a function总结:继承可以扩展已存在的代码模块(类),他们的目的都是为了代码重用
  • 多态
  1. 重写:子类并不想原封不动的继承父类,想添加或者删除某些属性
  2. 重载:同一个方法,传入不同参数,返回的数据不一致