• Es6


    一、Set中的迭代函数

    • keys():获取键
    • values():获取值

    • entries():获取键值对

    • for....of....和forEach用来遍历

    代码:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <script>
    11. let scor = [90, 50, 60, 80, 40, 20]
    12. let s = new Set(scor)
    13. // console.log(s.keys())
    14. for (const k of s.keys()) {
    15. console.log(k)
    16. }
    17. console.log("----------------------------------")
    18. for (const v of s.values()) {
    19. console.log(v)
    20. }
    21. console.log("----------------------------------")
    22. for (const e of s.entries()) {
    23. console.log(e)
    24. }
    25. console.log("----------------------------------")
    26. s.forEach((value, key) => {
    27. console.log(key + ":" + value)
    28. })
    29. </script>
    30. </body>
    31. </html>

    效果:

     二、Map

    创建: let tels = new Map()

    • 使用set(key,value)添加元素
    • 获取Map中的键值对中的值,使用get(key),根据键获取值

    • clear():清空

    • 删除delete()

    • for....of.... 遍历

    以上代码

      1. let tels = new Map()
      2. // 使用set(key,value)添加元素
      3. tels.set("王入力", "110250150")
      4. tels.set("张三", "88855505882")
      5. tels.set("李四", "15168524786")
      6. // 获取Map中的键值对中的值,使用get(key),根据键获取值
      7. console.log(tels.get("王入力"))
      8. console.log(tels)
      9. // 删除delete()
      10. console.log(tels.delete("张三"))
      11. console.log(tels)
      12. console.log("--------------遍历-----------------")
      13. for (const t of tels) {
      14. console.log(t[0], t[1])
      15. }
      16. //清空
      17. tels.clear()

      效果:

      Set,Map,Array之间的转换

    使用Array.from(map1)

    1. const map1 = new Map()
    2. map1.set("k1", 1)
    3. map1.set("k2", 2)
    4. map1.set("k3", 3)
    5. map1.set("k4", 4)
    6. console.log(Array.from(map1))

    使用toLocaleString()转换为字符串 

    1. const map1 = new Map()
    2. map1.set("k1", 1)
    3. map1.set("k2", 2)
    4. map1.set("k3", 3)
    5. map1.set("k4", 4)
    6. console.log(Array.from(map1).toLocaleString())

    效果

    keys(),values(),foreach() 

    获取 键、值和遍历

    1. console.log(tels.keys())
    2. console.log(tels.values())
    3. tels.forEach((value, key) => {
    4. console.log(key + ":" + value)
    5. });

    三、class类 

    • class:声明类
    • constructor:定义构造函数初始化

    • extends:继承父类

    • super:调用父级构造方法

    • static:定义静态方法和属性

            语法: class 类名(首字母大写){}

            类:它是一个宏观上的概念,而对象就是类的具体实现

    案例创建一个简单的类:

    1. class Person {
    2. //构造函数实现初始化
    3. constructor(name, sex, age) {
    4. this.name = name
    5. this.sex = sex
    6. this.age = age
    7. }
    8. // 行为:用方法(函数)来实现
    9. work() {
    10. console.log("工作")
    11. }
    12. eat() {
    13. console.log("吃饭")
    14. }
    15. sayHello() {
    16. console.log(`我叫${this.name},我是一名开朗的${this.sex}生,我今年${this.age}岁了`)
    17. }
    18. // 有返回值的
    19. getName() {
    20. return this.name
    21. }
    22. // 传参的
    23. cal(n, m) {
    24. return n + m
    25. }
    26. }
    27. let p0 = new Person("张三", "男", 30)
    28. p0.work()
    29. p0.eat()
    30. p0.sayHello()
    31. console.log(p0.getName())
    32. console.log(p0.cal(1, 2))

    效果:

    继承:

    • 父类:Person,继承:extends

    • 当子类继承了父类,那么子类就可以访问父类中的属性,函数

    • 实例化对象的时候,构造函数中的参数的个数一定要完整

    • 必须调用一样super()函数

     列:(继承第一个)

    1. class Student extends Person {
    2. constructor(name, sex, age, stuid) {
    3. super(name, sex, age) //必须调用一样super()函数
    4. this.name = name
    5. }
    6. }
    7. let stu = new Student("张三", "女", 50, "1001")
    8. stu.sayHello()
    9. stu.eat()

    效果:

      当父类和子类中有相同名称函数时,调用的是子类中的函数,这就相当于子类将父类中的同名函数进行了重写

     super.sayHello() //可以调用父类中的函数

    static:静态的

    使用static来修饰的函数只能通过类名进行访问,不能通过对象访问

    整体代码

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Document</title>
    8. </head>
    9. <body>
    10. <script>
    11. // 创建一个人类
    12. /*
    13. 语法
    14. class 类名(首字母大写){
    15. }
    16. 类:它是一个宏观上的概念,而对象就是类的具体实现
    17. */
    18. class Person {
    19. //构造函数实现初始化
    20. constructor(name, sex, age) {
    21. this.name = name
    22. this.sex = sex
    23. this.age = age
    24. }
    25. // 行为:用方法(函数)来实现
    26. work() {
    27. console.log("工作")
    28. }
    29. eat() {
    30. console.log("吃饭")
    31. }
    32. sayHello() {
    33. console.log(`我叫${this.name},我是一名开朗的${this.sex}生,我今年${this.age}岁了`)
    34. }
    35. // 有返回值的
    36. getName() {
    37. return this.name
    38. }
    39. // 传参的
    40. cal(n, m) {
    41. return n + m
    42. }
    43. // static:静态的
    44. // 使用static来修饰的函数只能通过类名进行访问,不能通过对象访问
    45. static fun() {
    46. console.log("静态的")
    47. }
    48. }
    49. // let p0 = new Person("张三", "男", 30)
    50. // p0.work()
    51. // p0.eat()
    52. // p0.sayHello()
    53. // console.log(p0.getName())
    54. // console.log(p0.cal(1, 2))
    55. // 继承
    56. // 父类:Person,继承:extends
    57. // Student被称为子类
    58. // 当子类继承了父类,那么子类就可以访问父类中的属性,函数
    59. // 实例化对象的时候,构造函数中的参数的个数一定要完整
    60. class Student extends Person {
    61. constructor(name, sex, age, stuid) {
    62. super(name, sex, age) //必须调用一样super()函数
    63. this.name = name
    64. }
    65. // 当父类和子类中有相同名称函数时,调用的是子类中的函数,这就相当于子类将父类中的同名函数进行了重写
    66. sayHello() {
    67. // console.log(`我叫${this.name},我是一名开朗的${this.sex}生`)
    68. super.sayHello() //可以调用父类中的函数
    69. }
    70. // 多态
    71. // sayHello(n) {
    72. // console.log(`我叫${this.name},我是一名开朗的${this.sex}生,${n}`)
    73. // }
    74. }
    75. let stu = new Student("张三", "女", 50, "1001")
    76. stu.sayHello()
    77. stu.eat()
    78. Student.fun()
    79. </script>
    80. </body>
    81. </html>

    效果:

     

  • 相关阅读:
    Greenplum数据库故障排查及修复
    来喽!!炒鸡详细的“数据在内存中的存储”真的来喽!
    2022春夏系列 KOREANO ESSENTIAL重塑时装生命力
    java多线程之Lock锁原理以及案例实现电影院卖票
    学习笔记|IO中断|中断号大于31|中断优先级|简易中央门禁|STC32G单片机视频开发教程(冲哥)|第十六集:IO中断
    .[nicetomeetyou@onionmail.org].faust勒索病毒数据怎么处理|数据解密恢复
    尚医通 (五) --------- 医院模块
    《围城》笔记
    复习C语言数组的用法
    ArcGIS 10.5安装教程!
  • 原文地址:https://blog.csdn.net/sh2001824/article/details/126677545