漆黑菌的博客

也许面向工资编程才是先进生产力的发展方向...

探索vue checkbox v-model绑定数组语法糖的原理

简介 在使用vue完成一个对象数组绑定checkbox页面时产生了一个疑问,Array.indexof等方法在处理对象数组的时候比较的都是引用,那么vue会如何处理checkbox上value绑定的Object与v-model绑定数组中引用不同的两个相同对象呢? 太长不看版结论,是用类似deepequal的机制比较的,引用不同也会被当成相同的元素。 先做个实验 先准备俩长得一样,但是引用...

2020年初中日两国轨道交通春运的一点感受

2020年1月23日,农历正月二十九,春运高峰期返乡中。 今年元旦在日本过的,日本自明治维新后就把新年从农历改到了公历,所以也算体验了一下日本“春运”期间的轨道交通。虽然日本的乘车目的是旅行,国内的乘车目的是长途回家,两者其实有不小区别(旅游主要是中短途,回家是长途),但也算有些感慨,姑且记录一下。 来吹吹国铁 便宜,从上海到太原的直达硬卧(z196,运行距离1505km,时间大概...

js魔法——如何让a==1&&a==2&&a==3为true

简介 一道JS面试题,有点回字的几种写法的感觉,不过挺有趣的,可以考察对JS的了解程度。要求a==1&&a==2&&a==3结果为true。 传统方案valueOf/toString 利用==隐式类型转换的规则 如果valueOf存在,就会先找valueof,若果valueof返回的是基本类型的就会用这个值,如果是个对象就会找toString,如果to...

Windows下使用git的换行符问题

简介 Git系统本来是运行在Unix上的,所以默认存储的的换行符为LF,但是Windows的换行符是CRLF。在Windows上git有个自动转换的功能在提交的时候转换为LF,检出的时候转换为CRLF.然而在中文环境下有bug检出的时候会LF转CRLF,但是提交的时候不会转换为LF,还是不要开比较好。 相关配置 AutoCRLF #提交时转换为LF,检出时转换为CRLF git confi...

事情不是你想象的那样-在chrome下操作cookie时的一些问题

简介 这次负责的页面要提供登录授权token,目前是采用传统的cookie模式。之前只知道cookie可以通过设置domain和path来控制可读取范围,但是一直以为cookie和localstorage一样,是存在跨域限制的,然而实际上cookie理解成跟随着“域名”似乎会更加合适。 同域名或同IP但不同端口号 可以共享cookie,甚至协议不同(HTTP和HTTPS)也一样,此处和跨域...

使用docker打包一个简单前端模板网页

需求背景 用户中心有一个登录页较为特殊,需要单独拆出来采用类似之前JSP模式的混合渲染。由前端提供HTML模板,后端渲染后展示给用户。原计划是我本地build以后直接交给后端同学,但是daocloud这边产品核心技术之一就是docker,而且这个需求的docker可以不在正式生产环境中使用,所以正好拿这个来当新手任务了。 参考文章 gitbook的《Docker — 从入门到实践》http...

移动端rem适配方案切换vw适配方案

需求背景 目前组内使用的移动端适配方案是基于rem的flexible方案,其他组想要使用任务中心的部分样式代码,但是不确定其他组是否也使用flexible方案。就算用的是flexible方案,也不确定使用的转换单位是否一致,所以就试着用一下和js解耦的vw布局方案。 参考文章 知乎的一篇文章,ts的部分可以先无视掉https://zhuanlan.zhihu.com/p/36913200。...

移动端混合开发监听页面可见性visibilitychange优化页面数据同步

需求背景 任务中心中,跳转第三方页面完成任务后,因为没有一个机制通知前端已经在第三方页面完成任务,导致任务完成状态无法更新。 领券中心中,现有的预热倒计时需利用前端计时器,当页面被切换到后台或者手机锁屏时计时器会暂停,导致虽然领券时间已经到了但是前端页面还在倒计时。 参考文章 阮一峰老师的文章入门http://www.ruanyifeng.com/blog/2018/10/pa...

监控曝光度埋点神器IntersectionObserver

需求背景 8月初接到了产品侧的一个需求,希望埋点能够提供活动的曝光情况,正好就想到了IntersectionObserver这个新API。 参考文章 阮一峰老师的文章入门也不错,但是后面缺乏更新和polyfill就不推荐了。 从入门到进阶的用法https://juejin.im/post/5d23fe1551882514bf5bf4c9 一个初步入门的例子,基本能满足需求https:/...

promise比callback有什么优势的一波总结

参考文章 chrome有一篇介绍promise的文章很不错https://developers.google.com/web/fundamentals/primers/promises?hl=zh-cn 优势 可读性上升,不用像callback写法一样层层嵌套 可以成功/失败事件发生和处理分离,callback+事件监听器写法如果事件已经发生,再监听就不能捕获事件了。而且使用pr...