• 回顾js


    今天呢简单的回顾了一下js

    主要呢是回顾了一下js的发展历史

    ES1.0 1997年发布
    ES2.0 1998年发布
    ES3.0 1999年发布
    ES4.0 被放弃
    ES5.0 2009年发布 IE9以上才开始支持
    ES5.1 2011年发布 Array map
    Es6(全称EcmaScript 6) ES 2015 从ES6开始每年6月份都会发布一个新ES版本
    Es7(全称EcmaScript 7) ES 2016
    Es8(全称EcmaScript 8) ES 2017 async/await
    Es9(全称EcmaScript 9) ES 2018
    Es10(全称EcmaScript 10) ES 2019
    Es11(全称EcmaScript 11) ES 2020

    还回顾了一下es6的一些经常用到的一些东西

    以及个人的练习

    let和const:

    let:定义变量
    * let和var的区别
    * 1.var可以重复定义,let不可以重复定义
    * 2. var有变量提升,let没有变量提升 (也可以叫预解析)
    * 3. var没有块级作用域,let有块级作用域
    */

    const :定义常量,即值不会改变的量
    特点:const 定义常量时必须赋值

    适用场景:引入一些npm包,或者定义项目中固定不变的值

    面试官会问:如何改变const定义的值???

    ** 可以通过给const定义一个对象,那对象中的属性是可以改变值的 **

    例如:

    const obj = {
    name: 'alice',
    age:20
    }

    obj.name='jack'
    箭头函数
    * 面试时:箭头函数与普通函数区别?
    * 1.语法区别
    * 2. this不同:普通函数this永远指向运行时调用的this,谁调用指向谁,
    * 但箭头函数没有自己this,指定父级有function的this,但如果父级没有function继续往上找,直接找到全局的window
    * 3. 是否有arguments:普通函数是有arguments,箭头函数没有
    * 4. 是否能实例化 ,普通函数可以实例化,箭头函数不行

    解构赋值:

    可以对相同结构的类型进行值的提取,通常对数组或对象处理

    //数组的解构 var arr = ['hello', 'vue.js']

    var [a, b] = arr;

    //对象的解构
    var obj = {
    name: 'alice',
    age: 20,
    address:'北京'
    }
    var { name, address } = obj(
    模板字符串:用反引号来定义字符串

    格式:${获取变量或表达式}

    注: JS中定义字符串有三种格式:"",'',``

    mdn文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/template_strings

    set和map:

    set:可以理解成是不重复的数组

    add:添加一个值
    delete:删除一个值
    clear:删除所有值
    通过for of 来遍历set数据结构
    如何通过set可实现数组去重?

    var arr=[3,4,5,2,2,3,5,6,3,5,65,46,34,23,2]

    Array.from(new Set(arr))

    或[...new Set(arr)]
    set和数组的互转:

    1. 数组转换成set:new Set(数组)

    2. set转换成数组:Array.from(set类型的变量)
    set官文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

    map:可以理解成是一个对象

    注意:注意这里的map是一个构造函数,不是数组中的map

    优点:可以将将任意的数据类型的值当作对象的属性来使用,避免了传统的对象属性只有是字符串类型
    map官方mdn文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

    展开运算符或rest: ...
    ...有两个作用:

    将数组转换成数据列表 (展开操作) [3,4,5]=>3,4,5
    例如:

    //实现合并两个数组

    var arr1=[3,4,5]

    var arr2=[6,7,8]

    var result=[...arr1,...arr2] 4,5,6,7,8

    将数据列表转换成数组(rest操作)
    4,5,6,7,8 => [ 4,5,6,7,8]

    function sum(...test) {
    var result=0;

    for(var i=0;i<test.length;i++) {
    result+=test[i]
    }

    return result;
    }

    sum(3,4,4,5,5)
    symbol

    数组和字符串的扩展方法

    class

    import,export

    函数的默认参数

    Prmoise

    generator,迭代器

  • 相关阅读:
    spring boot 2 上传文件大小限制的配置不生效解决方式
    jsr基本使用@valid和@validation
    C#基础拾遗系列之一:先看懂IL代码
    ideal key
    dotnet watch+vs code提升asp.net core开发效率
    Mybatis使用
    java webservice
    JavaScript ES6 规范
    Express (Routing、Middleware、托管静态文件、view engine 等等)
    mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
  • 原文地址:https://www.cnblogs.com/mzj143/p/12872126.html
Copyright © 2020-2023  润新知