JavaScript高级语法复习、学习笔记——————大致了解高级语法内容

这篇博客详细介绍了JavaScript的高级语法,包括面向对象的概念、类的创建与实例化、继承与`super`关键字,深入探讨了构造函数与原型的关系、原型链以及静态成员。此外,还涵盖了ES5新增的数组、字符串和对象方法,如`forEach`、`filter`、`trim`和`Object.keys`,并讨论了函数定义与严格模式、闭包和递归,以及正则表达式的使用和组成部分。
摘要由CSDN通过智能技术生成


前言

本文包含JavaScript高级大致内容(不全部包含ES6新语法),参考与pink老师所讲解视频通过自己理解整理,所以这是一篇用于小白新手入门,或者复习使用的笔记,ES6新语法以后也会更新。
如有做的不好的地方,敬请谅解,欢迎指出,持续更新改正


一 面向对象与类

1 面向对象

面向过程 (POP)
高性能 不易维护

面向对象 (OOP)
性能低 易维护 灵活

特点:

  • 封装
  • 继承
  • 多态

类和对象

对象抽象封装成一个类
类实例化获取类的对象


2 创建类与实例化

用class关键字创建类

   class Star {
   
     constructor(uname, age) {
               //new生成实例时,constructor自动调用,不写自动生成
       this.uname = uname;
       this.age = age;
     }
   }

利用类创建对象

  var ldh = new Star("刘德华", 20);
  var zxy = new Star("张学友");
  console.log(ldh);

类中添加方法

  • 类里面函数不需要写function
  • 多个方法间不需要逗号分隔
 class Star {
   
     constructor(uname, age) {
              
       this.uname = uname;
       this.age = age;
     }
     say(){
   
     console.log('说')
     }
   }
   
  var zxy = new Star("张学友");
  zxy.say()

3 继承

(就近原则) 实例化输出方法,先在子类找,再到父类找

 class Father {
   
     constructor() {
   }
     money() {
   
       console.log(100);
     }
   }
 class Son extends Father {
   }
 var son = new Son();
 son.money();

4 super关键字

super() 调用了父类中的构造函数

 class Father {
   
     constructor(x, y) {
   
       this.x = x;
       this.y = y;
     }
     sum() {
   
       console.log(this.x + this.y);
     }
   }
 class Son extends Father {
   
     constructor(x, y) {
   
       super(x, y);                  //调用了父类中的构造函数
     }
   }
   
 var son = new Son(1, 2);
 son.sum();

super关键字调用父类普通函数

 class Father {
   
     say() {
   
       return "我是爸爸";
     }
   }
 class Son extends Father {
   
     say() {
   
       console.log(super.say() + "的儿子");
     }
   }
 var son = new Son();
 son.say();

super必须放在子类this之前

 class Father {
   
     constructor(x, y) {
   
       this.x = x;
       this.y = y;
     }
     sum() {
   
       console.log(this.x + this.y);
     }
   }
 class Son extends Father {
   
     constructor(x, y) {
   
       super(x, y);
       this.x = x;
       this.y = y;
     }
     subtract() {
   
       console.log(this.x - this.y);
     }
   }
 var son = new Son(3, 1);
 son
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neworend

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值