课程内容 1.ES6介绍
q.什么是ES6 ES6是ECMA Script 6.0的简称, 就是语言最新的标准, 发布与15年左右 目标让js语言成为能支持去编写大型复杂的应用语言, 成为企业级开发语言 q.javascript和ECMA Script区别? javascript, Java特别火,导致名字一直是javascript ECMA组织制定js标准,不想用java, 叫ECMA Script 6.0 java是有商标的,有些情况不好用2.变量
q.变量有什么新特性? 可以使用let去定义变量 可以使用const去定义常量 解构赋值 q.let作用? var定义变量在函数外是全局作用域 [OK] var定义变量在函数里面,是函数内作用, 从定时开始到函数结束都能用 有效区域: 定义开始,到函数结束 let能定义块级作用于的变量 有效区域: 定义开始,到定义块结束 q.const如何使用? const PI = 3.14; 特性: 改了之后会报错 q.解构赋值如何使用? 赋值的一种形式 以前赋值 a=10 解构赋值,最简单理解等号左边多个值,等号右边也可以有多个值 注意: 对应的结构3.类和对象的改进
q.对类和对象有什么改进 提供了关键字 class 定义类 提供了关键字 extends 继承一个类 super()执行父类的初始化函数 提供了对象字面量, 定义一个函数 q.class的用法 格式: class 类名{ //自动调用初始化函数 constructor(name){ //添加的属性 this.name = name } say(){ } } q.extends继承的用法 格式: class 子类类名 extends 父类{ constructor(name,score){ super(name) this.score = score } show(){ } }4.函数相关
q.es6在函数这块有哪些改进或者新特性? 默认参数 箭头函数 rest函数(可变参数的函数) q.默认参数是什么怎么用 function hello(x=10,y=20) q.箭头函数 格式 (参数1,参数2,....) => { } 注意1: 如果参数只有一个,可以省略() 如果没有参数, 必须加上 () 注意2: {}中只有一个renturn语句,省略{}和return 注意3: 箭头函数好处1: 简化回调函数 好处2中this指向定义的时作用域 q.rest参数 作用: 定义变参的函数 语法: function fun(a,b, ...list)5.数组相关
q.数组新的特性有哪些? 扩展运算符 ... for-of遍历 直接获取数组的值 Array.from() 对象转数组(有要求) Array.of Array.prototype.copyWithIn() Array.prototype.find() q. ...用法 q. for-of 格式: for(var v of arr){} q.Array.from()如何使用? 对象转数组 有要求, 1.对象有length 2.有对应的序号 q.Array.of多个值转一个数组 例子: var arr = Array.of(1,2,3,4,5) q.Array.prototype.copyWithIn() 数组内数据复制 q.Array.prototype.find() 是查找数据 //根据你传入匿名函数中条件, 返回第一个查找的值6.字符串相关
q.新特性有哪些? 编码 for-of 字符串查找(常用) includes 是否包含 startWith 前缀 endWith 后缀 重复 repeat() 补位 padStart() padEnd() 模板字符串 q. 编码 var c = "吉" var c = "\uXXXX\uXXXX" var c = "\u{xxx}" q.for-of for(var c of str){} q.字符串查找(常用) includes 是否包含 startWith 前缀 endWith 后缀 q.重复 repeat() q.补位 padStart() padEnd() q.模板字符串7.新的数据类型
q.es提供新的数据类型有哪些? Map映射, 存储多个键值对数据, 类似对象 Set集合, 存储多个不重复的数据 q.Map的用法 创建Map: new Map() 存储值 map.set(key,value) 获取值 map.get(key) 遍历 for(var [k,v] of map) 删除值 map.delete(k) 清空 map.clear() q.Set用法 创建Set: new Set() 添加值: set.add() 删除值: set.delete() 清空: set.clear() 遍历: for(var v in set.keys())8.proxy 代理
q.proxy是什么 一种监控对象的属性改变的一种机制 q.怎么用