E S 6, 全称 ECMAScript 6.0

ES6, 全称 ECMAScript 6.0

是 JavaScript 的下一个版本标准,2015.06 发版。
ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。


一变量类型与声明

声明变量
var、let、const


var声明可以进行变量提升
什么是变量提升:用var 声明变量 ,变量的使用在变量声明前 默认值是undefined
js在执行会预编译,会把所有的变量提升在代码的最前面并赋值为undefine,
也会把所有的函数提升在最前面


let声明和 var 声明变量差不多,let通常用于语句块局部作用域{},
声明的变量只在 let 命令所在的代码块{}内有效。

1 let 声明的变量是局部变量 在一对{}有效
2 let 不能重复声明
3 let 不会变量提升

const 声明一个只读的常量,一旦声明,常量的值就不能改变,
约定大写变量名
注意:当const定义的为复杂类型 数组或对象是是可以更改的

const 声明常量
1 声明必须赋值
2 不能修改(值类型)数字 字符串 布尔
3 建议变量名大写
 


 

二Symbol类型

ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,
最大的用法是用来定义对象的唯一属性名。

属性名唯一:由于每一个 Symbol 的值都是不相等的,所以 Symbol 作为对象的属性名,可以保证属性不重名。


常量值唯一:使用 Symbol 定义常量,这样就可以保证这一组常量的值都不相等


Symbol.for() 类似单例模式,首先会在全局搜索被登记的 Symbol 中是否有该字符串参数作为名称的 Symbol 值,如果有即返回该 Symbol 值,若没有则新建并返回一个以该字符串参数为名称的 Symbol 值,并登记在全局环境中供搜索。

Symbol.keyFor() 返回一个已登记的 Symbol 类型值的 key ,用来检测该字符串参数作为名称的 Symbol 值是否已被登记。

三字符串

扩展的方法:
• includes():返回布尔值,判断是否找到参数字符串。
• trim():返回新的字符串,去除字符串的头尾空格
• startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
• endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
• repeat():返回新的字符串,表示将字符串重复指定次数返回。
• padStart:返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串。
• padEnd:返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串。

模板字符串`${}`

模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。
1.实现多行字符串
2.使用`${变量名}`的格式将变量与字符串拼接
3.字符串插入变量和表达式。变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式和函数。


四解构赋值

数组模型的解构(Array)

基本

let [a, b, c] = [1, 2, 3];

// a = 1

// b = 2

// c = 3

可嵌套

let [a, [[b], c]] = [1, [[2], 3]];

// a = 1

// b = 2

// c = 3

可忽略

let [a, , b] = [1, 2, 3];

// a = 1

// b = 3

不完全解构

let [a = 1, b] = [];

// a = 1, b = undefined

剩余运算符

let [a, ...b] = [1, 2, 3];

//a = 1

//b = [2, 3]

字符串等

在数组的解构中,解构的目标若为可遍历对象,皆可进行解构赋值。可遍历对象即实现 Iterator 接口的数据。

let [a, b, c, d, e] = 'hello';

// a = 'h'

// b = 'e'

// c = 'l'

// d = 'l'

// e = 'o'

解构默认值

let [a = 2] = [undefined];

// a = 2

当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。

let [a = 3, b = a] = [];

// a = 3, b = 3

let [a = 3, b = a] = [1];

// a = 1, b = 1

let [a = 3, b = a] = [1, 2];

// a = 1, b = 2

  • a 与 b 匹配结果为 undefined ,触发默认值:a = 3; b = a =3
  • a 正常解构赋值,匹配结果:a = 1,b 匹配结果 undefined ,触发默认值:b = a =1
  • a 与 b 正常解构赋值,匹配结果:a = 1,b = 2

对象模型的解构(Object)

基本

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };

// foo = 'aaa'

// bar = 'bbb'

let { baz : foo } = { baz : 'ddd' };

// foo = 'ddd'

可嵌套可忽略

let obj = {p: ['hello', {y: 'world'}] };

let {p: [x, { y }] } = obj;

// x = 'hello'

// y = 'world' let obj = {p: ['hello', {y: 'world'}] };

let {p: [x, { }] } = obj;

// x = 'hello'

不完全解构

let obj = {p: [{y: 'world'}] };

let {p: [{ y }, x ] } = obj;

// x = undefined

// y = 'world'

剩余运算符

let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};

// a = 10

// b = 20

// rest = {c: 30, d: 40}

解构默认值

let {a = 10, b = 5} = {a: 3};

// a = 3; b = 5;

let {a: aa = 10, b: bb = 5} = {a: 3};

// aa = 3; bb = 5;


五数组方法


1. 遍历数组 forEach

2. 映射数组 map
通过现有的数据反射出来新的数据 一一对应

3. 过滤 filter
现有数组通过一定的规则过滤出新的数组
返回true 保留 false 不保留

4.累计 reduce 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值


5.一个 some 检测数组元素中是否有元素符合指定条件 返回true 或者 false
只要回调函数有一个为true 则整个都返回true

6.每个 every 检测数值元素的每个元素是否都符合条件 返回true 或者 false
回调函数都返回为true 则整个都返回true

7.复制数组 copywithIn(替换位置,拷贝开始,拷贝结束) 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。

8. 包含 includes(obj) 返回一个布尔值 arr是否包含obj

9. 查找 find 返回通过测试(函数内判断)的数组的第一个元素的值 查找元素

10.填充 fill(内容,start,end) 使用一个固定值来填充数组


六map和set

Map 结构
JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),
但是传统上只能用字符串当作键。
Map结构类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适


Map的属性和方法:
• Map.size :属性返回 Map 结构的成员总数。
• Map.set(key, value):设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
• Map.get(key):get方法读取key对应的键值,如果找不到key,返回undefined。
• Map.has(key):has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
• Map.delete(key):delete方法删除某个键,返回true。如果删除失败,返回false。
• Map.clear():clear方法清除所有成员,没有返回值。
• Map.keys():返回键名的遍历器。
• Map.values():返回键值的遍历器。
• Map.entries():返回所有成员的遍历器。
• Map.forEach():遍历 Map 的所有成员。

ES6 提供了新的数据结构 Set。
它类似于数组,但是成员的值都是唯一的,没有重复的值。


Set的属性和方法:
• Set.size:返回Set实例的成员总数。
• Set.add(value):添加某个值,返回 Set 结构本身。
• Set.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
• Set.has(value):返回一个布尔值,表示该值是否为Set的成员。
• Set.clear():清除所有成员,没有返回值。
• Set.keys():返回键名的遍历器
• Set.values():返回键值的遍历器
• Set.entries():返回键值对的遍历器
• Set.forEach():使用回调函数遍历每个成员


七函数

函数参数的扩展

【默认参数,可选参数】
            function myFun(a,b=3,c=15){
                console.log('myFun:',a,b,c)
            }


            myFun(7)
            myFun(7,7)
            myFun(7,7,7)

【可变参数个数 参数】
            function myFun(...a){
                console.log('myFun:',a)
            }

            myFun(5,2,1,8,9)

【扩展参数】
            function myFun(a, b, c) {
                console.log('myFun:', a, b, c)
            }

            var x = [7, 3, 4]
            myFun(...x)
            var y = [7, 2, 54, 9, 2, 1, 8, 63, 20]
            console.log(Math.max(...y))
            

八箭头函数


1.基本写法
前面是函数参数 => 后面是返回值也是执行语句
省略function 关键字 、return 关键字

2.多个参数 或者 没有 都用括号包起来

3.执行语句有多个的时候 用{}包括起来,

4.箭头函数this 指的是函数上一层的this


九迭代器

【Iterator     迭代器 :  调用 迭代器next()方法的就是 迭代器】
【Iteratable   可迭代对象: 能用于for of 迭代的 对象成为可迭代对象】

【常见的迭代对象有哪些??】
             Array  String Set Map NodeList HTMLCollection ...
            
             【常见的迭代器】
              obj.keys()  obj.values()  obj.entries() 
              generator-生成器
            
 


十 生成器Generator

生成器函数

generator(生成器)是 ES6 标准引入的新的数据类型。一个 generator 看上去像一个函数,但可以返回多次
generator 函数和普通的函数区别有两个, 1:function 和函数名之间有一个*号, 2:函数体内部使用了 yield 表达式

 

生成器对象的使用方法

  1. next()
    调用 生成器对象的 next() 方法,才是真正开始执行生成器函数,每次遇到 yield 或者 return 就会返回一个对象{value: "1", done: false}
    value 表示 yield 或 return 后面的值。
    done 表示这个 对象是否已经结束(迭代到末尾了)

  2. forof 循环
    调用迭代器循环 生成器对象。可以直接获取到 yield 后面的值。

  3. 扩展运算符
    ...生成器对象 也可以获取 yield 后面的值。

【注 1】next()到 return 表示结束(没有 return,其实是隐含了 return undefined),且 return 之后的 yield 不会被执行到
【注 2】done 到最后返回 true,表示结束
【注 3】return 不会被 forof 和扩展运算符遍历到。所以只能用 next()获取到 return 的值


十对象

提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值