随笔分类 -  JavaScript ES5,ES6,ES7

摘要:async 函数概述 async/await应该是目前最简单的异步方案,ES7 中新增了 async/await 两个关键词。 async 可以声明一个异步函数,此函数需要返回一个 Promise 对象。await 可以等待一个 Promise 对象 resolve,并拿到结果。 其实async函数 阅读全文
posted @ 2019-03-26 14:36 胡椒粉hjf 阅读(1019) 评论(0) 推荐(0) 编辑
摘要:Promise对象概述(什么是Promise) Promise 是异步编程的一种解决方案,比传统的异步解决方案——回调函数和事件——更合理和更强大 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获 阅读全文
posted @ 2019-03-26 14:06 胡椒粉hjf 阅读(522) 评论(0) 推荐(0) 编辑
摘要:Generator函数的概述 Generator 函数是 ES6 提供的一种异步编程解决方案 Generator函数指的是一种新的语法结构,是一个遍历器对象生成器,它内部可以封装多个状态,很适合用于异步操作 Generator函数语法和普通的function函数类似,但是有三个不同点: (1)fun 阅读全文
posted @ 2019-03-25 15:32 胡椒粉hjf 阅读(239) 评论(0) 推荐(0) 编辑
摘要:Symbol数据类型简介 ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。 Symbol 值通过S 阅读全文
posted @ 2019-03-25 14:22 胡椒粉hjf 阅读(445) 评论(0) 推荐(0) 编辑
摘要:iterator(遍历器)的概念 JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是Map,Map的成员是对象。这样就需要一种统一的接口机 阅读全文
posted @ 2019-03-25 11:45 胡椒粉hjf 阅读(137) 评论(0) 推荐(0) 编辑
摘要:传统创建对象模板的方式 JavaScript 语言中,生成实例对象的传统方法是通过构造函数 ES6创建对象模板的方式Class ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类 基本上,ES6 的class可以看作只是一个语法糖, 阅读全文
posted @ 2019-03-25 11:21 胡椒粉hjf 阅读(822) 评论(0) 推荐(0) 编辑
摘要:集合的概念 集合是一组无序且唯一(元素不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中 特点:key和value相同,没有重复的value Set集合 ES6提供了数据结构set,它类似于数组,但是成员的值都是唯一的,没有重复的值 。Set 本身是一个构造函 阅读全文
posted @ 2019-03-24 16:13 胡椒粉hjf 阅读(359) 评论(0) 推荐(0) 编辑
摘要:解构赋值的概念 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring) 传统对变量赋值的方式,以前,为变量赋值,只能直接指定值。 数组的解构赋值——简单的数组解构赋值和嵌套数组的解构赋值 ES6允许写成下面这样。可以从数组中提取值,按照对应位置,对变 阅读全文
posted @ 2019-03-24 03:05 胡椒粉hjf 阅读(911) 评论(0) 推荐(0) 编辑
摘要:call()/apply()/bind()的用法 Function.prototype.bind(obj) :将函数内的this绑定为obj, 并将函数返回 区别bind()与call()和apply(): 都能指定函数中的this,call()/apply()是立即调用函数,bind()是将函数返 阅读全文
posted @ 2019-03-23 18:10 胡椒粉hjf 阅读(373) 评论(0) 推荐(0) 编辑
摘要:二进制与八进制数值表示法: 二进制用0b, 八进制用0o Number.isFinite(i) 判断是否是有限大的数 Number.isNaN(i) 判断是否是NaN Number.isInteger(i) 判断是否是整数 Number.parseInt(str) 将字符串转换为对应的数值 Math 阅读全文
posted @ 2019-03-23 16:36 胡椒粉hjf 阅读(188) 评论(0) 推荐(0) 编辑
摘要:这篇文章主要来讲HTML5中的新方法:parse()把字符串转换成josn格式的数据和stringify()把josn格式的数据转换成字符串 eval()方法的回顾 eval()方法可以将任何字符串解析成js,下面来解析一个函数,并且解析完后执行这个函数 但是这个方法有个缺点,就是如果这个字符串里面 阅读全文
posted @ 2019-03-23 02:19 胡椒粉hjf 阅读(674) 评论(0) 推荐(0) 编辑
摘要:运行模式 正常(混杂)模式与严格模式,除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(strict mode) 顾名思义,这种模式使得Javascript在更严格的语法条件下运行 严格模式的目的/作用 1. 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行 阅读全文
posted @ 2019-03-22 22:55 胡椒粉hjf 阅读(232) 评论(0) 推荐(0) 编辑
摘要:const 概述const声明一个只读的常量。一旦声明,常量的值就不能改变。const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。 const的作用域 const的作用域与let命令相同:只在声明所在的块级作用域内有效。 const的暂存死区const 阅读全文
posted @ 2018-05-23 17:36 胡椒粉hjf 阅读(421) 评论(0) 推荐(0) 编辑
摘要:let命令的介绍 let是ECMAScript6中新增的关键字,用于声明变量。它的用法类似于var let变量的声明 let 命令的特点不允许在同一作用域下声明已经存在的变量,也就是不能重复声明(不允许多个变量的变量名相同) let 命令的特点—没有预解析 var命令会发生“变量提升”现象,即变量可 阅读全文
posted @ 2018-05-23 15:11 胡椒粉hjf 阅读(472) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示