复习JavaScript

一 JavaScript

javascript:是一种单线程的可以运行再浏览器或服务端的弱类型脚语言

  1. 单线程:
    1:进程:完成一项任务所经历的过程
    2:线程:线程比进程范围要i小,一个进程可以包括多个线程

  2. 弱类型:变量的类型由赋值的类型决定

  3. 脚本语言:不会提前编译,实在运行的时候边解释边执行的语言

二 发展史

项目时间版本
JavaScript1995诞生
JavaScript1997JavaScript 1.0标准版本(TC29委员会-ECMA262)
JavaScript1998JavaScript 2.0标准版本
JavaScript1999JavaScript 3.0标准版本
JavaScript……
JavaScript2005JavaScript 4.0 争议
JavaScript2009JavaScript 5.0标准版本
JavaScript20011EcmaScript 5.1标准版本
JavaScript20015EcmaScript 2015(也称ES6)标准版本
JavaScript20016EcmaScript 2016(也称ES7)标准版本
JavaScript1. 1. …往后每年6月份都会发布一个新ES版本

三 javaScript和ECMAScript关系

javaScript包括三部分:ECMAScript(核心),DOM,BOM

四 ES6新增特性

let和var的区别:
     (1)看是否有变量提升
     	 var有变量提升,let没有
    (2)看是否有块级作用域
    (3)看是否能够重复定义
     
  1. 解构赋值
import {mapAction,mapGetters} from 'vuex'
  //数组解构赋值
    let arr=['hello','vue.js','React','微信小程序']
    let [one,two,three]=arr;
   // console.log(one)
   // console.log(three)

    //对象解构
    let obj={
        name:'alice',
        age:20,
        info:{
            xueli:'本科',
            address:'中国'
        }
    }

    let { name, info:aa  }=obj
   // console.log(name);
    console.log('aa:',aa.address);
  1. set和map:即数组和对象的升级版本
 set:数组的升级版本
  
    add:添加唯一值
    delete:删除某一个值
    clear:删除所有
    forEach:遍历set对象
    
    注:可以用set来实现数组去重,
    
    var arr=[3, 4, 5, 5, 2, 2, 4, 6, 562, 2]
    例如:[...new Set(arr)]
  
  map:对象的升级版本
  
   let m1=new Map() 创建map对象
   m1.set(key,value)设置key的值
   m1.get(key)获取key对应的值
   m1.keys()获取key所组成的对象
   m1.values()获取value组成的对象
   m1.entries()获取key,values组成的对象
   m1.forEach()遍历map对象
  1. 模块化
    ES6的模块化:ES module
    导出: export default {}
    导入: import {},aa from ‘暴露的对象’

node里的模块化:commonJS
导出 modules.exports={}
导入 require(‘导入你的模块’)
5. class类

   1   ES5中是用函数来模拟一个类,ES6中class来实现一个类
   
   2  类与对象的关系:一个类可以创建出多个对象(对象也称为实例)
  1. 扩展运算符(…)
//1       展开操作
//展开数组
    var arr1 = [5, 3, 2, 4] //...arr1最终变成 5,3,2,4
    console.log(...arr1)
    var arr2 = ['hello', 'vue.js']
    var result = [...arr1, ...arr2]
    console.log(result)
    //展开对象
    var obj1 = {
        name: 'alice',
        age: 20,
        address: '北京'
    }

    var obj2 = {
        xueli: '本科',
        hobby: '爬山'
    }
    var resultOjb = { ...obj1, ...obj2 }
    console.log(resultOjb)

    //rest操作
    function sum(msg, ...arg) {
        console.log('msg:', msg);
        console.log('arg:', arg);

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

        console.log(result);
    }

    var arr3 = [1, 6, 7]
    sum('恭喜啊', ...arr3)

在这里插入图片描述

  1. 箭头函数:
 格式:(参数1,参数2,...参数n)=>{ //代码块 }
面试经常问:普通函数和箭头函数区别
  
    1.this指向不同:箭头函数没有自己的this,它的this指父级函数所在的this
    2.箭头函数不能实例化:new ()=>{ } 报错
    3.箭头函数没有arguments
  1. 模板字符串:
    //js定义字符串的形式有3种:单引号(’ '),双引号(" "),反引号(
   let str1='hello';
    let str2="vue.js"
    let str3=`我爱中国的${str2}`

9.数组和字符串新增的api方法:
字符串:

   str.includes(‘’)   检测字符是否有某个字符串,如果有返回true,否则false
   str.startsWith(‘’) 检测字符是否在字符串开始,如果是返回true,否则false
   str.endsWith(‘’)检测字符是否在字符串结尾,如果是返回true,否则false

数组:

  Array.from:可以将类对象转换成真正的数组

何为类数组:也称伪数组,看着像数组,但不具备数组的api方法,但伪数组有length属性,可以像真实数组那样通过下标来访问

   真实数组  = Array.from(伪数组)

Array.of
find
findIndex
flat:数组扁平化 降维

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值