使用JavaScript实现一个俄罗斯方块
清明假期期间,闲的无聊,就做了一个小游戏玩玩,目前游戏逻辑上暂未发现bug,只不过样子稍微丑了一些-.-项目地址:https://github.com/Jiasm/tetris在线Demo:http://blog.jiasm.org/tetris/?width=16&height=40 (修改URL参数可以调整难度)
使用postman进行API自动化测试
最近在进行一个老项目的升级,第一步是先将node版本从4.x升级到8.x,担心升级会出现问题,所以需要将服务的接口进行验证;如果手动输入各种URL,人肉check,一个两个还行,整个服务。。大几十个接口,未免太浪费时间了-.-;因为是一个纯接口服务的项目,所以打算针对对应的API进行一波自动化测试;所以就开始寻找对应的工具,突然发现,平时使用的PostMan貌似也是支持写测试用例的-.-,所以就照着文档怼了一波;一下午的时间,很是激动,之前使用PostMan仅限于修改Header,添加Body发送请求,从来没有考虑过拿PostMan来进行测试,一下午的使用,感觉发现了新大陆。
一个有味道的函数
最近想到了一个自认为很有意思的面试题如何实现一个compose函数。函数接收数个参数,参数均为Function类型,右侧函数的执行结果将作为左侧函数执行的参数来调用。
柯里化与反柯里化
最近在看一本书《JavaScript函数式编程》里边提到了一个名词,柯里化(currying),阅读后发现在日常开发中经常会用到柯里化函数。以及还有他的反义词反柯里化(unCurrying)柯里化被称为部分计算函数,也就是会固定一部分参数,然后返回一个接收剩余参数的函数。目的是为了缩小适用范围,创建一个针对性更强的函数。反柯里化正好与之相反,我们是要扩大一个函数的适用范围,比如将Array独有的push应用到一个Object上去。
FlowType简易入门指北
写了一段时间JavaScript了,作为一个弱类型语言,无视类型判断在开发过程中带来了很多的好处,int与float的转换、string与int的拼接。都可以直接通过一元运算符得到结果。但同样的,代码量上去了以后,整个项目会变得非常复杂。在开发过程中很难看出一段代码执行后的结果,或者一个函数参数/返回值的结构。有很多bug是在运行时才发现的。
JavaScript中的比较运算符
JavaScript中的比较运算符粗略的可以分为两种: 相等运算符(==、===、!==)这些 关系运算符(>、<、>=)在平时开发中,基本不会太关注这两者的差异,我们几乎总是可以获取到我们想要的结果-。-
函数节流与函数防抖
函数节流和函数防抖是一个老生常谈的话题了,两者都是对大量频繁重复调用代码的一种优化方案今天在某群和大家讨论时,顺便搜了一些相关博客发现有一篇关于两者的定义竟然写反了。。。所以决定自己来写一下-.-权当加深记忆了
2017年终总结
又到了一年做总结的时候了;2017年充满了惊喜,去年的目标也完成个80%左右;现在回想起来一年其实过得是非常快的,非常充实的一年。
正则表达式-JavaScript
什么是正则表达式 正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、replace、search 和 split 方法。
浅谈script标签中的async和defer
script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了。直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染。