ES6
文章平均质量分 51
Leon_94
Just Code IT!
展开
-
ES6中的class的使用
js的传统生成一个类的方法,需要定义一个构造函数,然后通过new的方式生成。function Cat() { this.name = 'kitty'; this.color = 'yellow';}var cat = new Cat();js中只有对象,没有类。这样的写法和传统面向对象语言差异很大,很容易让新手感到困惑。定义类ES6添加了类,作为对象的模板。通过class来定义...原创 2018-09-27 18:37:24 · 691 阅读 · 0 评论 -
详谈 import 路径
import路径import {test} from './test';花括号import {test} from './test';import test from './test';如果有默认导出export default则可以省略花括号,且import的模块名是随意的,如:// a.jsexport default 'test';// b.jsimport a ...原创 2018-12-17 16:21:54 · 11847 阅读 · 0 评论 -
koa2深入浅出
koa2基础知识分享koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。 使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套, 并极大地提升错误处理的效率。koa 不在内核方法中绑定任何中间件, 它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。安装Koa 依赖 nod...原创 2018-12-17 16:23:56 · 613 阅读 · 0 评论 -
Linux目录结构及文件基本操作
Linux目录结构及文件基本操作(1)区别win以存储介质为主,主要以盘符及分区实现文件管理,再下面才是目录。linux以树形目录结构的形式来构造整个系统,每一个目录不仅能使用本地磁盘分区的文件系统,也能使用网络的文件系统。结构查看内建命令&&系统命令1.内建命令要比系统论命令有比较高的执行效率。2.外部命令执行时往往需要fork出(产生出)一个子进程,而内建命...原创 2018-12-17 16:25:24 · 283 阅读 · 0 评论 -
websocket深入浅出
websocket简介websocket是什么答: 它是一种网络通信协议,是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。为什么需要websocket? 疑问? 我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答:因为 HTTP 协议有一个缺陷:通信只能由客户端发起我们都知道轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP...原创 2018-12-17 16:33:17 · 128953 阅读 · 4 评论 -
单元测试
单元测试单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。测试框架所谓"测试框架",就是运行测试的工具。通过它,可以为 JavaScript 应用添加测试,从而保证代码的质量。类似的测试框架还有 Mocha、Jasmine、Karma、Tape 等MochaMocha(发音"摩卡")诞生于 2011 年,是现在最流行的 JavaScript 测试框架之一,在浏览...原创 2018-12-17 16:34:04 · 611 阅读 · 0 评论 -
npm包发布
npm包发布npm注册1.注册(输入用户名,密码,邮箱。注册成功会自动登录)npm adduser2.登录(输入用户名,密码就可登陆成功)npm login3.发布(注意发布必须是登录状态下)npm publishmljr-clinpm install mljr-cli -g➜ ~ mljr -h Usage: mljr <command> [opt...原创 2018-12-17 16:35:26 · 512 阅读 · 0 评论 -
小程序的登录鉴权&&数据解密
小程序的登录鉴权&&数据解密登录流程1、用户使用wx.login获取临时code,有效期为5分钟2、将临时code传到我们自己的后端服务,调用微信的API获取用户的session_key和openid3、后端自定义新的密钥并关联返回的session_key和openid,将新的密钥返给前端4、前端发送请求的时候,带着密钥,后端进行解析后返回数据session_key和...原创 2018-12-17 16:38:50 · 1881 阅读 · 0 评论 -
ES6 中的 Proxy 以及用Proxy封装一个供全宇宙使用的数据请求api
Proxy(代理) 是 ES6 中新增的一个特性。Proxy 让我们能够以简洁易懂的方式控制外部对对象的访问。其功能非常类似于设计模式中的代理模式。使用 Proxy 的好处是:对象只需关注于核心逻辑,一些非核心的逻辑(如:读取或设置对象的某些属性前记录日志;设置对象的某些属性值前,需要验证;某些属性的访问控制等)可以让 Proxy 来做。从而达到关注点分离,降级对象复杂度的目的。使用方法va...原创 2019-04-04 20:24:14 · 2236 阅读 · 0 评论 -
用JavaScript实现PHP的urlencode与urldecode函数
本文介绍了php函数urlencode的js实现方法并比较js和php各编码函数的区别。通常form表单的enctype类型为 application/x-www-form-urlencoded, 当表单提交后,提交的数据自动被编码, 规则为" 除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。", php的urlencode函数与其功能相...原创 2018-12-14 16:11:52 · 2267 阅读 · 0 评论 -
electron深入浅出
electron简介electron是由Github开发,是一个用Html、css、JavaScript来构建桌面应用程序的开源库,可以打包为Mac、Windows、Linux系统下的应用。electron是一个运行时环境,包含Node和Chromium,可以理解成把web应用运行在node环境中结构electron主要分为主进程和渲染进程,关系如下图electron运行packag...原创 2018-12-13 14:39:56 · 33628 阅读 · 0 评论 -
Object.defineProperty
Object.definePropertyObject.defineProperty(obj, prop, descriptor)obj 要在其上定义属性的对象。prop要定义或修改的属性的名称。descriptor将被定义或修改的属性描述符。descriptor数据描述configurableenumerablewritablevalue存储器描述getset...原创 2018-12-13 14:37:55 · 1144 阅读 · 0 评论 -
ES6之 Set数据结构
Set 是ES6提供的一种新的数据结构,它允许你存储任何类型的唯一值,而且Set中的元素是唯一的。我们用new操作符来生成一个Set对象基本用法let arr = [1,2,3,1,2,2,1,2,1,1];let set = new Set(arr);set.size // 3[...set] // [1,2,3] 元素是唯一的 可以用来数组去重属性和方法set结构的实例有...原创 2018-09-28 18:30:06 · 223 阅读 · 0 评论 -
ES6之 Map数据结构
ES6新增了 Map数据结构,Map对象保存键值对,任何值(原始值或对象)都可以作为一个键或一个值。基本用法let map = new Map();let obj = { name: 'Leon', sex: 'male'};map.set(obj,'myObject');map.get(obj); // "myObject"map.has(obj) //truemap.del...原创 2018-09-28 19:18:14 · 2892 阅读 · 0 评论 -
JS判断各种各种浏览器类型和版本
直接引用这个js比如import { Browser } from './browser.js' log(Browser.client.name+" "+Browser.client.version);//browser.jsvar Browser=Browser || (function(window){ var document = window.document, nav...原创 2018-11-21 15:46:09 · 15701 阅读 · 2 评论 -
vue中 computed 下使用箭头函数会报错
computed: { myPhone: () => { let num3 = this.mobile.slice(-4); let num1 = this.mobile.slice(0,-8); let str = `${num1}****${num3}`; return str; } }这种...原创 2018-11-29 11:12:07 · 4713 阅读 · 0 评论 -
ES6中数组和对象的遍历
在工作中经常会用到数组或者对象的遍历,for的一大痛点就是额外定义了变量,for循环一多,变量又容易冲突。ES6给出了新的遍历的方法,我们一起来看一下对象forEach方法var name = ['张三', '李四', '王五'];['张三', '李四', '王五'].forEach((v,l,k) => { console.log(v); console.log(l);...原创 2018-11-30 11:23:15 · 7943 阅读 · 0 评论 -
async和await使用
async和await使用Q:假设有3个接口,A,B,C 逐次依赖,求实现方案?A–>B–>C模拟代码APIconst readFile = function (fileName) { return new Promise((resolve, reject) => { $.get(fileName).then(_ => { ...原创 2018-12-13 14:35:05 · 709 阅读 · 1 评论 -
setTimeout和Promise的任务队列
setTimeout和Promise的任务队列栈,是指只有在一端进行存取的表结构。可以看做一个打开的箱子,永远只能对最上面的东西进行操作。也就是先进(栈底)后出(必须把上面的全都拿走),后进(栈顶)先出的顺序。队列,是指排队过安检,先进先出。在JS的单线程中,任务队列可以有多个。这些队列都是依靠函数调用栈来循环执行,这也就是我们常说的事件轮循。事件轮循决定了代码的执行顺序。任务队列包括宏...原创 2018-12-13 14:36:08 · 415 阅读 · 0 评论 -
浅谈backstop.js
backstopjs什么是backstopBackstopJS就是一个能够实现css自动化回归测试的工具,BackstopJS是一个基于比较网站快照的变化的回归测试工具,非常适合给项目中的样式做回归测试,可以确保我们在重构网站样式的时候样式不发生变化,而且他支持设置多种浏览器尺寸,可以测试响应式布局。比较下resemble.js 和phantomCss,backstop算是比较容易上手使用...原创 2018-12-13 14:37:04 · 1953 阅读 · 0 评论 -
想搞懂async?先从单向链表讲起
async怎么用async函数返回一个Promise对象,可以使用then方法添加回调函数。当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。举一个栗子:let timeout = ms => { console.log('a') return new Promise(resolve => { cons...原创 2019-07-28 17:23:02 · 334 阅读 · 0 评论