随笔分类 -  ES6

新标准javascript 在严格模式use strict进行
摘要:import sm from "sm-crypto"; // 注意加这个包起来 key 和 iv const text = new TextEncoder(); console.log( 123, sm.sm4.decrypt( "0932d0497791aa94ba067fb0256cb4c5c3 阅读全文
posted @ 2024-03-28 10:30 xuanPhoto 阅读(940) 评论(0) 推荐(0) 编辑
摘要:reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 方法接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce() 的数组。 reduce( ) 的几个强大用法:(reduce的核心在于与上次的操 阅读全文
posted @ 2019-11-19 10:02 xuanPhoto 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:Object.keys() Object.values() Object.entries 自己实现Object.entries方法,非常简单 阅读全文
posted @ 2019-09-10 18:37 xuanPhoto 阅读(182) 评论(0) 推荐(0) 编辑
摘要:很多时候,我们拿到别人的库,都是通过npm install 来的,这些组件非常方便,在哪里都能够通过简单的引入,来获得其使用权。 你需要手工,人力去判断自己所在层级的位置,然后一个一个的../../../../../../../../去点出来,查找包的位置。 说明 一般前端(基于vue脚手架的应用) 阅读全文
posted @ 2018-11-07 14:28 xuanPhoto 阅读(364) 评论(0) 推荐(0) 编辑
摘要:一般情况 || 但是有很多的或 || 那难道要写 很多 用 includes 函数 即可解决 Array.includes代替Array.indexOf 阅读全文
posted @ 2018-10-30 11:08 xuanPhoto 编辑
摘要:什么是async和await 你要想理解语法,可以先从两个单词的基本意思来进行了解.async是异步的简写,而await可以堪称async wait的简写。明白了两个单词,就很好理解了async是声明一个方法是异步的,await是等待异步方法完成。注意的是await必须在async方法中才可以使用因 阅读全文
posted @ 2018-08-12 22:10 xuanPhoto 编辑
摘要:require相当于module.exports的传送门,module.exports后面的内容是什么,require的结果就是什么,对象、数字、字符串、函数……再把require的结果赋值给某个变量,相当于把require和module.exports进行平行空间的位置重叠。 而且require理论上可以运用在代码的任何地方,甚至不需要赋值给某个变量之后再使用,比如: require('.... 阅读全文
posted @ 2017-11-23 15:08 xuanPhoto 阅读(2689) 评论(0) 推荐(1) 编辑
摘要:require是commonjs规范,是node的写法,webpack帮你做了语法转换,不单单是webpack可以做这事,gulp-browsers,requirejs一样可以 Node是commonjs规范,用require导入js模块,通过webpack等构建工具把require的js包注入到页面上,import是ES6/7的语法,如果浏览器支持,理论上不用构建工具就可以当作模块导入 n... 阅读全文
posted @ 2017-07-31 15:48 xuanPhoto 阅读(276) 评论(0) 推荐(0) 编辑
摘要:在ES5中我们要进行模块化操作需要引入第三方类库,随着前后端分离,前端的业务日渐复杂,ES6为我们增加了模块化操作。模块化操作主要包括两个方面。 export :负责进行模块化,也是模块的输出。 import : 负责把模块引,也是模块的引入操作。 export的用法: export可以让我们把变量 阅读全文
posted @ 2017-07-24 19:39 xuanPhoto 阅读(3080) 评论(0) 推荐(0) 编辑
摘要:我们在ES5中经常使用方法或者对象去模拟类的使用,虽然可以实现功能,但是代码并不优雅,ES6为我们提供了类的使用。需要注意的是我们在写类的时候和ES5中的对象和构造函数要区分开来,不要学混了。 类的声明 先声明一个最简单的coder类,类里只有一个name方法,方法中打印出传递的参数。 class 阅读全文
posted @ 2017-07-24 19:02 xuanPhoto 阅读(351) 评论(0) 推荐(0) 编辑
摘要:简单解释一下什么是钩子函数。当我们在操作一个对象或者方法时会有几种动作,比如:在运行函数前初始化一些数据,在改变对象值后做一些善后处理。这些都算钩子函数,Proxy的存在就可以让我们给函数加上这样的钩子函数,你也可以理解为在执行方法前预处理一些代码。你可以简单的理解为他是函数或者对象的生命周期。Pr 阅读全文
posted @ 2017-07-21 13:01 xuanPhoto 阅读(246) 评论(0) 推荐(0) 编辑
摘要:学习map的这种ES6新加的数据结构。在一些构建工具中是非常喜欢使用map这种数据结构来进行配置的,因为map是一种灵活,简单的适合一对一查找的数据结构。我们知道的数据结构,已经有了json和set。那map有什么特点。 Json和map格式的对比 map的效率和灵活性更好 先来写一个JSON,这里 阅读全文
posted @ 2017-07-19 22:55 xuanPhoto 阅读(244) 评论(0) 推荐(0) 编辑
摘要:Set的声明 Set值的增删查 追加add: 删除delete: 查找has: 清空clear: set的循环 for…of…循环: size属性 forEach循环 WeakSet的声明 阅读全文
posted @ 2017-07-19 10:02 xuanPhoto 阅读(179) 评论(0) 推荐(0) 编辑
摘要:Symbol的打印 我们先声明一个Symbol,然后我们在控制台输出一下。 var g = Symbol('zachary'); console.log(g); console.log(g.toString()); 这时候我们仔细看控制台是有区别的,没有toString的是红字,toString的是 阅读全文
posted @ 2017-07-18 12:51 xuanPhoto 阅读(628) 评论(0) 推荐(0) 编辑
摘要:ES6允许把声明的变量直接赋值给对象,我们看下面的例子。 对象Key值构建 有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们如何构建我们的key值那。比如我们在后台取了一个key值,然后可以用[ ] 的形式,进行对象的构建。 let key='skill'; var obj={ [ 阅读全文
posted @ 2017-07-13 23:17 xuanPhoto 阅读(271) 评论(0) 推荐(0) 编辑
摘要:数字判断和转换 数字验证Number.isFinite( xx ) NaN验证 判断是否为整数Number.isInteger(xx) 整数转换Number.parseInt(xxx)和浮点型转换Number.parseFloat(xxx) 整数取值范围操作 整数的操作是有一个取值范围的,它的取值范 阅读全文
posted @ 2017-06-28 23:01 xuanPhoto 阅读(201) 评论(0) 推荐(0) 编辑
摘要:用Es6对象扩展运算符(…)与rest运算符说明 function test (...a) { for (let val = 0; val < a.length; val++) { console.log(val + ' ' + '常用的 for循环') // 0-7 便利出下标 } for (le 阅读全文
posted @ 2017-06-28 11:33 xuanPhoto 阅读(309) 评论(0) 推荐(0) 编辑
摘要:字符串模版 可以看到浏览器出现了和上边代码一样的结果。而且这里边支持html标签,可以试着输入一些。 对运算的支持: 字符串查找 ES6还增加了字符串的查找功能,而且支持中文哦,小伙伴是不是很兴奋。还是拿上边的文字作例子,进行操作查找是否存在: 先来看一下ES5的写法,其实这种方法并不实用,给我们的 阅读全文
posted @ 2017-06-28 00:01 xuanPhoto 阅读(342) 评论(0) 推荐(0) 编辑
摘要:对象扩展运算符(…) 当编写一个方法时,我们允许它传入的参数是不确定的。这时候可以使用对象扩展运算符来作参数,看一个简单的列子: function xzdemo(...arg){ console.log(arg[0]); console.log(arg[1]); console.log(arg[2] 阅读全文
posted @ 2017-06-27 23:38 xuanPhoto 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1.单参数 function cheng(a=3){ return a*a; } let cheng= (a=3)=>a*a; console.log(cheng(9)); 2.多参数 function add(a,b){ return a+b; } let add = (a,b)=>a+b; // 阅读全文
posted @ 2016-12-09 16:21 xuanPhoto 阅读(254) 评论(0) 推荐(0) 编辑

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