![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
文章平均质量分 59
公众号:网瘾少年之路
公众号:网瘾少年之路
展开
-
CSS权重计算规则
最近准备校招生的培训材料,关于CSS的权重计算规则,正好梳理了一下,顺便整理分享出来。规则CSS的权重计算有如下几类:类型权值第一等:!important,优先级最高10000第二等:内联选择器,如style=“”1000第三等:ID选择器,如#container0100第四等:类、伪类、属性选择器,权值00100010第五等:元素选择器,如div p,权值00010001第六等:通配符,子选择器,相邻选择器0000第七等:继承样式无原创 2021-07-04 22:11:06 · 897 阅读 · 2 评论 -
如何做好一线团队管理?
之所以想聊聊这个话题,是因为最近面试有一半的面试官都会问这个问题,分享一下我对一线团队管理的粗浅看法。对上及时反馈这里不仅指老板交代的事项要及时反馈与主动担责,还指遇到项目问题或者需要老板支持的事项需要及时反馈。适当提要求结合上一条,针对具体的事项需要向老板适当的提一些要求。比如,解决这个问题预计需要两天,做这个复杂项目需要两个人员支持,让老板协调资源等等给出靠谱结论结合上一条,提要求的同时,一定要给出靠谱结论。比如需要老板协调两个资源协助项目开发,一定要给出需要什么技.原创 2020-08-28 19:10:12 · 433 阅读 · 0 评论 -
递归调用栈溢出问题分析与解决
问题模拟让递归爆栈还是很简单的,例如如下代码就能轻而易举实现// 故意来一次爆栈体验function stackOverflow(){ stackOverflow()}stackOverflow()// 结果VM42:3 Uncaught RangeError: Maximum call stack size exceeded at stackOverflow (<anonymous>:3:5) at stackOverflow (<anonymous原创 2020-08-27 09:53:09 · 2452 阅读 · 0 评论 -
模拟koa洋葱模型实现
koa洋葱模型即是注册的中间件采取先进后出的运行策略。问题app.use(async next => { console.log(1); await next(); console.log(2);});app.use(async next => { console.log(3); await next(); console.log(4);});// 异步函数function fn() { return new Promise原创 2020-08-26 14:39:01 · 491 阅读 · 0 评论 -
Promise重试功能实现
问题描述使用Promise封装异步请求数据时,当请求失败,可重试指定次数,最好封装一个retry(fun:Promise, times:Number)的重试工具函数方法实现function retry(fn, times){ return new Promise((resolve, reject)=>{ function run(){ fn().then(resolve).catch(err=>{ if(tim原创 2020-08-15 23:30:48 · 1038 阅读 · 0 评论 -
两个“跑路”级别BUG复盘
自动登录越权背景小程序原生跳转到webview的H5页面时,需要打通用户登录;此时需要在跳转的URL上带上临时token,通过临时token换取登录cookie。实现的方案为通过Node服务的拦截器,自动拦截小程序环境中的H5页面请求,自动设置上cookie。问题&原因自动登录相关的逻辑封装在AutoLogin类中,如下所示/** * 自动登录相关 */class AutoLogin { constructor () { this.ctx = null } i原创 2020-06-02 21:12:47 · 192 阅读 · 0 评论 -
VR:虚拟与现实
关于VR的一缕闲思原创 2020-05-18 00:47:06 · 319 阅读 · 0 评论 -
手写JS函数的call、apply、bind实现
之所以要写这篇,是因为曾经面试被要求在白纸上手写bind实现 结果跟代码一样清晰明确,一阵懵逼,没写出来! 下面,撸起袖子就是干!~ 把call、apply、bind一条龙都整一遍!~~call定义与使用Function.prototype.call(): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Re...原创 2019-12-01 17:18:38 · 912 阅读 · 0 评论 -
一文搞定JS异常捕获
关于JS的异常捕获,主要分为两种,一种为同步情况下的异常捕获,一种为一步执行下的异常捕获;异常捕获的【坑】主要集中在异步场景。同步 在同步场景下,简单粗暴,直接使用try/catch解决问题。(function() { try { // catch: ReferenceError: obj is not defined console.log(obj.error)...原创 2019-12-01 17:17:28 · 496 阅读 · 0 评论 -
前端防抖与节流
函数防抖与节流印象中都是为了控制函数执行频率,比如避快速点击提交按钮多次提交、避免模糊搜索框keyup事件监听时快速打字每次都去调用一次查询接口、避免页面滚动监听事件快速执行影响性能等;之前对防抖和节流的具体概念缺乏了解,比如他们有啥区别?具体是怎么样的?如何方便的理解这两个概念?翻了翻资料,结合自己的理解与思考整理如下防抖名词解释触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件...原创 2019-12-01 17:15:32 · 215 阅读 · 0 评论 -
CodeReview过程中关于JS代码性能的随想整理
原文地址:CodeReview过程中关于JS代码性能的随想整理问题 团队中做code review有一段时间了,最近一直在思考一个问题,抛开业务逻辑,单纯从代码层面如何评价一段代码的好坏? 好和坏都是相对的,一段不那么好的代码经过优化之后,如何标准化的给出重构前后的差异呢? 我们所有的代码都跑在计算机上,计算机的核心是CPU和内存。从这个角度来看,效率高的代码应当占用更少的CPU时间...原创 2019-03-14 20:54:10 · 460 阅读 · 0 评论 -
前端getTime时区问题
问题 发现客户端选择下单时间后,提交订单并查看订单,在订单上显示的之前用户之前选择的时间存在1-N小时不等的差值。 例如:在下单页选择的2018-01-01 10:00,下单完成后,在订单详情页上面显示为2018-01-01 09:00,与实际的相差1小时。分析 结合代码分析,发现当用户选择完时间后,会把选择的时间字符串调用getTime方法转换为毫秒数传给后端,后端再转换回时间字符...原创 2018-09-27 12:42:29 · 4566 阅读 · 0 评论 -
Gulp合并requirejs并MD5文件
项目目录结构可以从https://github.com/muchstudy/GulpDemo 这里下载样例代码,求Star! 说明: 1. js的的依赖关系为main.build.js–>three.js–>two.js–>one.js 2. main-build.js为构建的入口 3. 从github上拿下来的项目是可以直接运行的。可执行gulp clean与gulp观察结果。文件合并在原创 2016-12-11 20:53:34 · 2566 阅读 · 2 评论 -
设计模式系列之一单例模式
Java实现不考虑线程安全的写法public class Singleton { private static Singleton uniqueInstance; private Singleton() {} public static Singleton getInstance() { if (uniqueInstance == null) {原创 2016-12-02 23:24:32 · 467 阅读 · 0 评论 -
jQuery validator addMethod 动态提示信息
关于jQuery validator addMethod自定义验证规则网络上大部分都是这样写的$.validator.addMethod('PD_password', function (value, element) { var len = value.length; if(len<6){ return false; } if(len>15){原创 2016-12-12 15:36:36 · 7369 阅读 · 2 评论 -
Gulp实践
环境准备NodeJS安装在官方网址下载下载安装包即可:https://nodejs.org。 windows环境下只需要step by step,完成后在CMD中输入node -v 查看是否安装成功npm安装https://github.com/nodejs-tw/nodejs-wiki-book/blob/master/zh-tw/node_npm.rstGulp安装入门指南:http://ww原创 2016-11-27 14:33:52 · 1226 阅读 · 0 评论 -
Markdown转HTML
目前,产品中所有前端组件的API文档均由Markdown编写,之前的处理方式为在Atom中写好,然后另存为html的方式放到产品的在线样例库中,最近越来越觉得这种方式太麻烦,不易于管理。考虑砍掉另存为html的步骤,直接在webstorm中写文档,然后在运行时动态把markdown编译成html文档,跟目前的很多在线的Markdown文本编辑器的原理类似。 经过调研,可以后端转,也可以前端转。最终原创 2017-01-19 00:27:13 · 4741 阅读 · 0 评论 -
JSONP原理探究
介绍 JSONP是一直种解决跨域问题的方案,实现的原理来自于页面中的<script>标签能够跨域请求资源。要通过JSONP实现跨域,需要服务器端做额外支持。前端代码 前端部分核心在于通过script标签的src告诉服务器端约定好的回调方法名。代码如下var callbackName = 'callbackFunc';window[callbackName] = function (respon原创 2017-11-17 12:22:38 · 256 阅读 · 0 评论 -
专研精神是技术人员成长的源动力
前几天,项目中的开发人员向研发组提交了这样一个问题,发现在PC中使用搜狗输入法时,输入完成敲击回车按钮无法触发输入框的查询事件。同样,另外一个组件在IOS系统中,使用IOS原生的输入法也存在该问题。 针对该问题我跟踪了一下,发现当使用搜狗输入法时,光标虽然在input框里,但是输入的内容却在输入法提供的浮动窗口中,输入结束,敲击空格或回车,此时才把输入的内容放入input框中。 查看了原创 2018-01-09 10:57:08 · 1757 阅读 · 0 评论 -
一个由line-height引发的血案与思考
原文地址:一个由line-height引发的血案与思考爆炸 最近UI走查,发现页面中所有包含文字区块的高度与设计稿中的高度完全不一致,然后UI妹子就爆炸了! 找了一下原因,发现是由于UI设计稿中设计的文字大部分是font-size:24px;line-height:24px,代码实现时为了不至于每处都写一遍字体大小,故直接在根节点上统一设置字体与字体大小为24px,小部分不一致...原创 2018-05-07 15:01:16 · 2162 阅读 · 0 评论 -
HTTP协议与前后端联调
原文地址:HTTP协议与前后端联调介绍 在前后端分离的开发场景下,不可避免的会有前后端联调。在联调阶段,经常会遇到各式各样的问题,比如乱码问题、前端传的数据(字符串、数组、Json对象)后端无法正常解析等问题。 本文希望从源头着手,理清问题的根本原因,快速定位出现问题的位置,让前后端联调得心应手,让甩锅不再那么容易……HTTP协议 之所以这里会介绍一下HTTP协议,是...原创 2018-08-13 23:13:23 · 2606 阅读 · 0 评论 -
字符编码详解
My Blog:http://muchstudy.com 原文地址:http://muchstudy.com/2016/08/26/%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%E8%AF%A6%E8%A7%A3/ 经常有人问,为啥出来乱码呢?要么是前端浏览器显示乱码,要么是后台服务器接收是乱码。前两天又碰到一哥们儿来问我这问题!那么,今天就来聊聊字符编码。一原创 2016-08-29 01:05:54 · 758 阅读 · 0 评论