随笔分类 - javascript
摘要:在工作中,我们在写文档的时候常常会遇到时序图,时序图可以表示各个部分之间是如何交互的,以及交互的顺序是什么样的。一个好的时序图,可以省掉一堆废话,以下就是一个简单的时序图。但是如果徒手画时序图未免有点麻烦,那么有没有什么办法可以让我们只关注逻辑,像写markdown一样画时序图呢--有,那就是神器M
阅读全文
摘要:是这样的,今天玩github,先是在没有登录浏览了一些页面,然后在某一页面进行了登录。这时再切换的其他页面时就看到了下面的提示: 那么这是怎么做到的呢?我们可以想到,一种办法是 localStorage,在某一个页面登录时,修改localStorage 状态,其他页面在显示的时候,读取最新的状态,然
阅读全文
摘要:现在是2019年12月1日0点27分,我的心情依旧难以平静。这个月是2019年的最后一个月,是21世纪10年代的最后一个月,也是第一批90后30岁以前的最后一个月。就是在这个月的第一天的0点0分,我写的代码出了一个bug,简直让我欲哭无泪。 事情是这样的,我们公司在双十一搞了个促销活动,时间是11月
阅读全文
摘要:最近遇到这么一个需求,需要在手机上做一个两列的瀑布流布局,后来就把这个问题研究了一下,做个记录。 一般来讲,这种布局可以分为两种情况: 1. 图片的数量是一定的,不需要页面滚动到底部时,再动态加载图片,只需要将图片排成若干列 2. 图片的数量的不定的,页面触底时,需要从远程加载图片。 前者使用css
阅读全文
摘要:一直以来,前端的工作主要涉及的是字符串操作,而对二进制的数据接触较少。但是这种需求却一直存在着,尤其是HTML5之后,随着web应用越来越复杂,File,Blob,TypedArray这些API的出现使得前端对二进制的操作更加方便。 atob,btoa 这两个函数的应用场景之一是解密大佬留下的微信号
阅读全文
摘要:今天 fix 我们后台系统的一些 bug。系统是基于 beego 和模板开发的,各种前后端代码揉作一团,没有格式,没有 eslint,全局变量满天飞,连 js 代码都有后端的插值,读起来非常 酸爽 。 我耐着性子看了半天,陆陆续续改了几个 bug,顺便整理一下代码,总算完成的差不多了。只剩下最后一个
阅读全文
摘要:通常来说,如果我们自己通过 value 改变了 input 元素的值,我们肯定是知道的,但是在某些场景下,页面上有别的逻辑在改变 input 的 value 值,我们可能希望能在这个值发生变化的时候收到通知。于是我们想到了 onchange 事件,然而我们遗憾的发现,onchange 事件却并不会被
阅读全文
摘要:之所以将这两个方法放在一起说,是因为经常写这样的代码: ,看起来很简洁,但是踩到坑之后才发现自己对这两个方法实在是不求甚解。 Array.from 这个静态方法可以将某些值转换成数组,值可以是一个字符串,一个set,一个map或者一个类数组对象,最终返回一个数组。例子如下: 接受类数组对象这里很有意
阅读全文
摘要:目录 "写在前面" "安装" "如何写一个chrome插件" "总结" 写在前面 插件默认使用旧版后台https://i1.cnblogs.com/ 从开博到现在,在博客园混了快两年了,一直希望能为园友做点贡献。最近写博客的时候,作为markdown的忠实粉丝,感觉博客园 markdown编辑器不是
阅读全文
摘要:引子 在HTML5没来之前,浏览器想要下载文件,可能有这么几种方式: 1. 借助a标签,`` 2. 3. 借助浏览器插件,如flash等(没考证过) 除了第三外,前两种方法有个缺点,就是无法知道下载是否完成,因为浏览器没有给出相关的事件。但是,自从有了Blob,fetch, xhr2这些好用的API
阅读全文
摘要:当正则表达式开了挂,就会多一个g的修饰符,用于表示全局匹配。然而这个表达式却不仅仅是多了个g这么简单,它的方法也会发生改变。由于之前不是太了解,今天好好捋一下,且听我细细道来。 正则表达式的方法和属性 正则表达式的属性基本上与正则表达式的字面量的组成部分一一对应: 正则有两大方法: 和`exec`,
阅读全文
摘要:前言 据说在编程语言的发展过程中,面向对象语言是为了解决GUI编程的问题而出现的。计算机一开始是用纸带,命令行等来和人进行交互,..不对,是人用纸带跟计算机交互(lll¬ω¬)。而图形界面的出现是一次重大的改进,使普通人很容易就能使用计算机。 我们知道,显示器通常是以60Hz频率刷新的。在显示器的眼
阅读全文
摘要:前言 我是有过这样的经历,获取年月日时写出这样的代码: 此时的我是心虚的,因为我不知道是先执行 运算还是 运算,于是赶紧贴到控制台里,哎呦😀,没报错,看来是先执行 了。 让我们再牛逼一点,把Date后面的()去掉!🤔然后变成这样 。结果这回浏览器说此路不通。 或者有时候看到这样的眼花缭乱的黑魔法
阅读全文
摘要:稀疏数组
阅读全文
摘要:title: 认真学习customEvent tags: DOM date: 2017 7 22 23:20:57 最近要实现一个模拟的select元素组件,所以好好看了这个自定义事件api,记录一下。 整体来说,这个api由3部分组成,监听事件的元素,触发事件的元素和event对象. 监听事件的元
阅读全文
摘要:字符串的replace方法是操作字符串的常用方法之一,但这个方法只有当与正则合并使用时,才能体现出它的强大之处。 语法: ; 返回值: 一个部分或全部匹配由替代模式所取代的新的字符串,因为字符串是不可变的原始类型。 基础用法 str.replace(substr, newsubStr);将字符串的一
阅读全文
摘要:汉诺塔 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在 另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘. 百度百科上关于这个问题,提到了递归,但得出结论其实却是用归纳
阅读全文
摘要:一,三者共同点 js中的apply,call,bind是对于初学者比较难的概念之一,比如说我。。参考几篇文章之后,统一来讲, 1、这三个函数都属于Function.prototype下面的方法,如下图所示。从而可以被每一个函数实例所调用。 2、他们的作用都是改变函数的执行上下文。举个例子: 现在我想
阅读全文
摘要:上面var a=1;相当于做了两件事,声明 a变量和为变量a赋值1; 所以,上面的例子中的func函数等效于_func函数。这里要注意的是:声明了变量后没有赋值,值是undifined,而如果没有声明这个变量则会报错X。 声明+初始化函数参数 声明局部变量 声明并初始化函数 由于函数作用域是按照词法
阅读全文