
前端
文章平均质量分 92
SailorCai
做一个思维开阔的全栈工程师,不懂就问,知错就改
展开
-
浏览器事件循环
浏览器事件循环一、为什么要有事件循环浏览器运行过程中会同时面对多种任务,用户交互事件(鼠标、键盘)、网络请求、页面渲染等。而这些任务不能是无序的,必须有个先来后到,浏览器内部需要一套预定的逻辑来有序处理这些任务,因此浏览器事件循环诞生了,再次强调,是浏览器事件循环,不是javascript事件循环,js只是浏览器事件循环的参与者。二、事件循环是什么浏览器把任务区分成了 宏任务 和 微任务 或者叫 外部任务 和 内部任务 ,内部任务可以理解为js内部处理的任务,外部任务可以认为是浏览器处理的任务。外原创 2020-05-14 08:07:36 · 1088 阅读 · 0 评论 -
微信公众号开发——signature、access_token、jsapi_ticket的获取
微信公众号开发——那些令前端同学迷惑的微信校验微信公众号开发中几个阶段的权限校验,相对于前端同学来说(特别是没有nodejs基础的同学来说)可能相当费解,不过话说回来,现代前端不会nodejs可能会混的相当难受。咱们今天把这些烦人的 access_token、 jsapi_ticket、signature 一次盘明白,本文所有操作都基于公众号的测试号,因此在开始 bibi 前需要先申请一个公众...原创 2020-05-04 12:21:40 · 1784 阅读 · 0 评论 -
前端自动化单元测试——should.js、mocha是啥?
上周我们了解了node Assert 断言库,但是自动化测试要跑起来光靠node Assert肯定是不够的,文章标题中的这些工具会让你的单元测试真正成为自动的并且更加得心应手。那么我们先来看看它们都是些什么东西。should.js对于shouldjs,npm官方的解释是一款富有表现力、可读、框架无关的断言库。它的主要目的是让测试断言更富表现力,并对你的测试更有帮助。shouldjs有助于你...原创 2019-03-24 12:02:03 · 1061 阅读 · 0 评论 -
前端单元测试-从node assert 开始
测试对于任何一门技术和工程来说都是不可或缺的重要步骤,这是非常容易理解的。但似乎很多前端的同学对测试都没有足够的认识,更谈不上使用(这里面当然也包括我自己~捂脸)。做一件事情一般需要有两个前提: 1、认识到这件事情的重要与必然性。 2、敢于接受挑战,学习新的东西并且开始实施。对于其中一部分同学来说,是没有认识到测试的重要性,因此谈不上动机。那么这里有一个反例,也许对你认识前端单元测试的重要性有...原创 2019-03-17 11:35:13 · 375 阅读 · 0 评论 -
那些可以访问javascript解析引擎的方法
我们日常写bug的时候很有时候会用到解析javascript语句字符串的功能,比如我们有时候可能希望函数把一些字符串当成javascript语句执行。像以前比较老的模板语法很多就使用的Function或eval()等方法在这方面的能力比如下面的代码let fun = new Function('var name = "小明"; console.log(name);');fun();...原创 2018-12-08 12:51:22 · 253 阅读 · 0 评论 -
谈谈javascript中的多线程
不存在的,javascript中根本不存在多线程......先不要慌,没有多线程我们可以模仿多线程呀!定时器、web workder等等。 存在即合理,为啥javascript需要多线程? javascript对于现如今的web应用是不可或缺的,js在其中肩负了所有的交互和逻辑运算。由于浏览器在执行页面的javascript期间无法响应其他的用户事件,当页面中某部分js代码不可...原创 2018-09-19 21:04:41 · 652 阅读 · 0 评论 -
HTTP1.1头部字段汇总
HTTP/1.1是目前HTTP协议使用最广泛的版本HTTP首部字段是构成HTTP报文的要素之一。在客户端和服务器的交互中传递重要的交互信息。首先首部字段类型分为四种:1、通用首部字段(General Header Feilds)即请求报文和响应报文双方都会使用的首部2、请求首部字段(Request Header Fields)从客户端向服务器发送请求时使用的首部。补充了请求...原创 2018-09-09 15:54:39 · 2597 阅读 · 0 评论 -
IE兼容问题之 “SCRIPT5:拒绝访问” (document.domain)
你可能也遇到过IE下报:SCRIPT5::拒绝访问 的错,说实话,这真的是我见过最恶心的兼容问题之一了,效果如下:那么出现这个问题的原因是啥呢?报这个错的原因是你的页面使用了iframe嵌入页面,同时在父窗口或者子窗口设置了document.domain为某个域,但是设置的不一样,或者父窗口设置了,但是子窗口没有设置。这样不仅会导致部分js代码无法执行而且可能会导致已经发出去的aj...原创 2018-08-17 17:18:02 · 16303 阅读 · 4 评论 -
解决webpack中css独立成文件后图片路径错误的问题
说明:此配置针对webpack4+使用webpack构建项目时将css文件独立出来是常见的做法,在webpack4.0以前是使用extract-text-webpack-plugin,webpack4.0以后使用mini-css-extract-plugin,这里要讲的是后者我在mini-css-extract-plugin的filename配置加入了css/路径:new Min...原创 2018-08-27 09:42:52 · 6974 阅读 · 3 评论 -
url-loader不能处理html中引入的图片问题的解决方案
在我们使用webpack进行项目构建的时候,url-loader是个非常有用的工具,与file-loader相比,url-loader能将图片大小在limit限定值之内的图片转译成base64格式的字符串,这样能直接减少很多不必要的http请求,在应用性能提升上的效益还是非常可观的。 我们项目中引入图片的方式基本上可以分为三种:1、在js中import图片然后赋值给图片的src...原创 2018-08-26 17:29:27 · 5051 阅读 · 4 评论 -
通过File对象的slice()方法实现文件分片上传
上传大文件时由于各种原因突然中断,然后整个文件都要从头开始上传,这种情况真的是非常让人抓狂,而文件分片上传也许能避免这种尴尬 文件分片上传就是把文件分成一个个小块然后逐个上传,以文件的md5码作为文件的唯一标识,这样即使上传到一半中断了,等到下次再上传的时候我们通过对比文件的md5来确认是否是相同文件,确认后就可以在上次的基础上继续上传。 说到md5,我之前有一篇文章介绍了一个计算...原创 2018-08-07 10:37:46 · 15946 阅读 · 1 评论 -
git删除commit方法和误删commit后的恢复方法
如果你在git上提交了错误的commit,不要慌,通过下面的方法可以回退到之前的commit1)通过git log可以查看我们之前提交的commit_id:2)复制你需要回滚的commit_id。不过windows下的命令行是不能复制文本的,为此你可以到github上查看仓库的commit历史,上面是可以直接复制的:复制好后在命令行执行:git reset --hard c......原创 2018-08-09 10:28:11 · 35567 阅读 · 11 评论