JavaScript的历程

JavaScript

  1. JavaScript 是一种单线程可以运行在浏览器或者 服务端 的弱类型脚本语言
    1).单线程:
  2. 进程:完成一项任务所经历的过程
  3. 线程:线程比进程范围要小,一个进程可以包含多个线程
    2). 弱类型:变量的类型由赋值的类型决定
    3). 脚本语言:不会提前编译,是在运行时边解释边执行的语言
  4. JavaScript发展史
    1. JavaScript是1995年诞生的 布兰登·艾奇使用10天的时间创作出来的
    2. 1996年指定规范 , 可以在 各种 网站使用
    3. 1997年 JavaScript 发布 了 JavaScript 1.0版本(TC39委员会)
  5. 1998年 JavaScript 发布 了 JavaScript 2.0版本
  6. 1999年 JavaScript 发布 了 JavaScript 3.0版本
  7. ………
  8. JavaScript于2005年针对JavaScript4.0版本的讨论,比较激烈,不欢而散。
  9. JavaScript 于 2009年发布了JavaScript5.0版本
  10. JavaScript 于 2011年发布EcmaAcript5.1 标准版本
  11. JavaScript 于 2015发布Ecma2015(也称ES6)标准版本
  12. …… 往后每年6月份都会发布新的ES版本
  13. JavaScript和ECMAScript关系
    JavaScript包括三部分 ECMAScript(核心),DOM,BOM
    4.跟踪ES最新技术进展
    找gitHub官方的JavaScript
    5.ES6新增特性
    1. let和const
      Var:可变量提升,作用于全局,可重复定义
      Let: 不可变量提升,作用于局部,不可重复定义
      Const: 定义常量,不可重复赋值,定义一个对象时,可以更改内部变量
    2. 解构赋值
    3. set 和 map 数组和对象的升级版本
      1)set : 是唯一的里边的值 永远不重复,可以用来去重
      Add : 添加唯一值,delete:删除某一个值,clear:删除所有
      forEach:遍历set对象
      1. map对象的升级版本
        Let ml = new Map()
        ml.set(key.value)设置key的值
        ml.get(key)获取key对应的值
        ml.keys()获取key所组成的对象
        ml.values()获取value组成的对象
        ml.entries()获取key.values组成的对象
        ml.forEach()遍历map对象

4.模块化
ES6的模块化: Es module
导出: export default { }
导入:import { },aa from ‘暴露的对象’
node里的模块化:commonJS
导出modules.exports={}
导入require('导入你的模块")
5. class类
第一点:ES5中是用函数来模拟一个类,ES6中class来实现一个类
类与对象的关系:一个类可以创建出多个对象(对象也称为实例)

  1. 扩展运算符(. . .)
    有两个作用:

  2. 展开操作
    a) 展开数组
    Var arr1 = 【1,2,3,4】
    Var arr2 = [“aaa”,‘bbb’,’ccc’]
    Var arr3 = 【. . . arr1,. . . arr2】
    b) 展开对象
    Var arr1 = {names:’1’,ages:’2’}
    Var arr2 = {name:“aaa”,age:‘bbb’}
    Var arr3 = {. . . arr1,. . . arr2}

  3. Rest操作
    在这里插入图片描述

    1. promise

    2. 箭头函数
      格式:(参数1,参数2, . . . 参数N)=>{//代码块}
      面试官经常会问:普通函数和箭头函数区别
      a) this指向不同 ,箭头函数没有自己的this ,他的this指向自己的父级函数的this
      b) 箭头函数不能实例化
      c) 箭头函数没有arguments

    3. 模板字符串
      //js 定义字符串形式有三种 单引号(‘ ’) 双引号(“ ”)反引号 (
      Let str1 = ‘hello’
      Let str2 = “vue.js”
      Let str3 = 我爱中国的${str2}

    4. 数组和字符串新增的api方法
      字符串:
      Str.includes()检测字符是否有某个字符串,如果是返回true,否则false Str.startswith()检测字符是否在字符串开始,如果是返回true,否则false
      Str.endswith(``)检测字符是否在字符串结尾,如果是返回true,否则false
      数组:
      Array.from:可以将类对象转换成真正的数组
      何为类数组:也叫伪数组,看着像数组,但不具备数组的api方法
      但维数组有length属性,可以像真实数组那样通过下标来访问
      真是数组 = Array.from(伪数组)
      Array.of
      Find
      findIndex
      flat:数组扁平化
      如何将数组降维数组声明的变量 调用 arr.flat(降低几个维度)
      在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值