随笔分类 - 前端
摘要:一款基于vue3的仿windows弹窗。 可以组件模板编写或函数式创建。地址:https://github.com/dnoyeb/box-win 安装 npm add 'box-win' 两种方式: 1、组件式引入 //全局 test为自定义组件 import BoxWin from 'box-wi
阅读全文
摘要:先来看这样一道面试题: async function async1() { console.log('async1 start') await async2() console.log('async1 end') } async function async2() { console.log('as
阅读全文
摘要:之前那篇文章,讲过Json里的序列化结果为: { "name":"chenpp","age":21} -- 一共26个字节,而想要将其进行进一步压缩,就需要去掉一些冗余的字节 思路:1)能不能去掉定义属性(约定1=name,2=age) 约定了字段,约定了类型 去除分隔符(引号,冒号,逗号之类的)
阅读全文
摘要:1、在setcookie中省略domain参数,那么domain默认为当前域名2、domain参数可以设置父域名以及自身,但不能设置其它域名,包括子域名,否则cookie不起作用3、如果cookie设置为顶级域名,则全部的域名,包括顶级域名、二级域名、三级域名等,都可以共享该cookie4、如果co
阅读全文
摘要:来,跟我一起 ,自研多端错误监控平台(完整版) 前言 视频前的开发者们,大家下午好! 我今天分享的主题是“如何实现一套多端错误监控平台”。先来做一个简单的自我介绍,我是来自贝贝-大前端架构组的 Allan ,目前致利于集团错误监控系统维护以及工程标准化等基建工作。同时,我也是《React+Redux
阅读全文
摘要:目录 一.概念介绍 1.1 gitlab-ci && 自动化部署工具的运行机制 1.2 自动化部署给我们带来的好处 二.知识预备 2.1 gitlab-ci涉及的抽象概念(Runner/PipeLine/Executor/Job ) 2.2 YML文件的基本语法规则 2.3 .gitlab-ci.y
阅读全文
摘要:function hex2rgb(sColor) { sColor = sColor.toLowerCase(); // 如果是16进制颜色 if (sColor.length 4) { var sColorNew = "#"; for (var i = 1; i < 4; i += 1) { sC
阅读全文
摘要:前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人。 一、为什么要处理异常? 异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由去做这样的事情。 1.增强用户体验;2.远程定位问题;3.未雨绸缪,及早发现问题;4.无法复线问题,尤其是移动
阅读全文
摘要:/* author: leeenx @ timer 对象 @ 提供 7 个API如下: @ timer.setTimeout(fun, delay[, id]) @ timer.clearTimeout(id) @ timer.setInterval(fun, delay[, id]) @ time
阅读全文
摘要:熟悉 C 或者 C++ 的同学一定对位操作符不陌生。位操作符最主要的应用大概就是作为标志位与掩码。这是一种节省存储空间的高明手段,在曾经内存的大小以 KB 为单位计算时,每多一个变量就是一份额外的开销。而使用位操作符的掩码则在很大程度上缓解了这个问题: #define LOG_ERRORS 1 //
阅读全文
摘要:function Foo() {...}; let f1 = new Foo(); 我们需要牢记两点:①__proto__和constructor属性是对象所独有的;② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。 __p
阅读全文
摘要:var a={ i:1, //valueOf: toString:function(){ if(this.i 1){ this.i++; return 1 }else{ return 12 } } } if(a==1&&a==12){ console.log(123) } valueOf()方法和t
阅读全文
摘要://5、jsonp封装 function jsonpPakeage(obj) { //写入url地址中的函数名称,动态创建 var callbackName = "fn"+Math.random().toString().split("\.")[1]; //创建一个script标签 var scri
阅读全文
摘要://方法一: var obj = { a:1, b:2, c:3 }; obj[Symbol.iterator] = function(){ var keys = Object.keys(this); var count = 0; return { next(){ if(count<keys.len
阅读全文
摘要:let promisify = (fn, receiver) => { return (...args) => { return new Promise((resolve, reject) => { fn.apply(receiver, [...args, (err, res) => { retur
阅读全文
摘要:var event = { items: {}, on: function (type, fn) { if (!this.items[type]) { this.items[type] = [] } this.items[type].push(fn) }, emit: function (type)
阅读全文
摘要:快排算法: let quickSort = function (arr) { if (arr.length < 2) return arr let midValue = arr.splice(0, 1), left = [], right = [] arr.forEach(el => { el >
阅读全文
摘要:2的幂——即数字按位展开只有一位为1,所以 num&(num - 1) ==0; return (n>0)&&((n&(n-1))==0) 4的幂——相较于2的幂而言对二进制位要求更高,不仅要求数字按位展开只有一位为1,且1的后面必须有偶数个0,即…00000100,…00010000,…01000
阅读全文
摘要:原理:利用ArrayBuffer、Blob和FormData进行图片上传
阅读全文
摘要:一、UDP广播 广播使用的特殊的IP地址:最后一位是255时的IP地址是给广播预留的IP地址,如:192.168.88.255 广播UDP与单播UDP的区别就是IP地址不同,广播使用广播地址255.255.255.255,将消息发送到在同一广播网络上的每个主机。值得强调的是:本地广播信息是不会被路由
阅读全文