随笔分类 - ES6
ECMAScript
摘要:对象扩展 Object.keys( ) 获取对象的所有键 let obj = { name: 'ycc', age: 20 } console.log(Object.keys(obj)) // ['name','age'] Object.values( ) 获取对象的所有值 let obj = {
阅读全文
摘要:async 和 await async async函数返回一个promise对象,promise对象的结果由async函数执行的返回值决定。 语法: async function fun(){} let fun = async function(){} 不写return 或 只写return没有值
阅读全文
摘要:模块化 模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。 好处: 防止命名冲突 代码复用 高维护性 ES6的模块化 模块功能主要由两个命令构成:export 和 import export(出口) 暴露 import(进口) 引入 export暴露 1.分别暴露 定义对象前加
阅读全文
摘要:Set 类似于数组,但成员都是唯一的,实现了iterator接口,可以使用扩展运算符 和 for...of 遍历 let s = new Set([1,2,3]) // new Set()如果传递一个可迭代的对象,这个对象所有的元素被添加到新的Set中 // s = {1,2,3} s.size /
阅读全文
摘要:Promise es6中引入的异步编程解决方案,语法上Promise是个构造函数 const p = new Promise((resolve,reject)=>{ // resolve 解决(成功) // reject 拒绝(失败) }) then promise对象 都有then方法 resol
阅读全文
摘要:iterator迭代器 需要自定义遍历数据的时候,用到迭代器 主要供 for...of 消费 任何数据结构只要部署了 iterator 接口,就可以用 for...of 进行遍历操作。 iterator 实际上是对象中的一个属性(方法),名: Symbol.iterator 自带iterator的数
阅读全文
摘要:Symbol是一种类似于字符串的数据类型 Symbol特点: Symbol的值是唯一的,常用来解决命名冲突的问题 Symbol的值不能与其他数据类型进行运算(包括Symbol类型) Symbol定义的对象不能使用 for...in 遍历 初始 let s = Symbol() // 创建Symbol
阅读全文
摘要:var 有变量提升 let 没有变量提升 不能重复声明 只在块级作用域生效 块级作用域:{} var var 有变量提升 var i 提升到全局作用域window 每次循环代码块执行之前给 i 赋值 又因为for是同步代码 btns的单击响应函数是 异步代码 js是单线程的:先执行同步代码 再 执行
阅读全文