自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

果果的博客

IT技术分享、交流,共同提升!

  • 博客(143)
  • 收藏
  • 关注

转载 JS日期格式化转换方法

1. 将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。当然是网上的方法,只是总结下。可以为Date原型添加如下的方法:Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, ...

2018-04-21 17:31:21 199331 23

原创 跨域——vue中的axios.post使用json数据传输,出现请求头字段内容类型是不被允许的情况的解决方案

如何解决出现AXIOS的Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.问题描述:由于restful接口需要在头部header传递两个字段:Content-Type: application/jsonAccess-Token: ...

2018-01-01 20:21:59 39180 2

原创 nvm的基本用法

nvm的基本用法。

2022-12-28 11:23:51 157 1

原创 jest单元测试-更多

jest单元测试之更多一、jest.fnjest中的函数,具有跟踪性,可以测试是否被调用?调用几次?入参是否是期望值?it("should jest fn", () => { const jestFn = jest.fn((val) => { return val; }); const pramas = 1; const res = jestFn(pramas); expect(res).toBe(1); expect(jestF

2021-06-24 19:18:12 464

原创 jest单元测试-作用域

jest单元测试之作用域一、hook钩子函数beforeAll: 在所有测试用例之前进行执行afterAll : 在所有测试用例之后执行一次beforeEach: 在 每次测试之前执行一次afterEach : 在每次测试之后执行一次describe : 组的概念, 进行测试分组类似作用域,,默认全局就是个全局作用域注: 在describe嵌套的test中,hook函数的执行顺序父[1,3]---> 子【1,3,4,2】---> 父 [4,2]二

2021-06-24 19:16:14 638 6

原创 jest单元测试-匹配器

jest单元测试之匹配器一、匹配器1、toBe 严格相等,值引用 Object.is()2、toEqual 值相等3、toBeNull 4、toBeUndefined5、toBeDefined6、toBeTruthy7、toBeFalsy// 数字8、toBeGreaterThan 大于9、toBeGreaterThanOrEqual 大于等于10、toBeLessThan 小于11、toBeLessThanOrEqual 小于等于// 字符串12、toMatch 匹配

2021-06-24 19:14:04 608

原创 jest单元测试-基础

jest测试-基础一、认识前端自动化随着前端的发展,前端设计的领域已经越来越多,也越来越复杂。这就对我们前端工程化能力,提出了更高的要求。 好的前端工程化一般包括三个大的方面:前端自动化测试(前提条件)高质量的代码设计高质量的代码实现二、市面主流的前端测试框架Jasmine (茉莉花): JavaScript测试框架(BDD-集成测试开发框架),这个也算是比较早的测试框架;MOCHA(摩卡): 它是一个功能丰富的JavaScript测试框架,运行在Node.js和浏览器中,使异步测试变

2021-06-24 17:50:41 1107

转载 13 个设计 REST API 的最佳实践

1. 了解应用于 REST 之上的 HTTP 知识如果你想要构建设计优良的 REST API,了解一些关于 HTTP 协议的基础知识是很有帮助的,毕竟磨刀不误砍材工。在 MDN 上有很多质量不错的文档介绍 HTTP。但是,就 REST API 设计本身而言,所涉及到的 HTTP 知识要点大概包含以下几条:HTTP 中包含动词(或方法): GET、POST、PUT、PATCH 还有 DELETE 是最常用的。REST 是面向资源的,一个资源被一个 URI 所标识,比如 /articles/。端点(

2021-03-18 10:36:13 236

原创 Flutter入门(3)—打包项目[Android]

打包build1、创建app签名如果您有现有keystore,请跳至下一步。如果没有,请通过在运行以下命令来创建一个:keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key????注意:` keytool是java jdk的一部分,也没有设置全局变量,所以路径是不对,它是作为Android Studio一部分安装的,找到对应路径,设置私人密码123456/Applicat

2020-12-23 13:59:25 256

原创 Flutter入门(2)—创建项目

初始化项目一、创建1、打开vscode,创建myapp项目cmd + shift + p=> Flutter: New Project=> ...2、连接虚拟机,或者模拟器在vscode的下方会有一个No device,点击连接设备3、运行myapp❯ cd myapp❯ flutter runLaunching lib/main.dart on iPhone 12 Pro Max in debug mode...Running Xcode build... └─

2020-12-23 13:53:17 254

原创 Flutter入门(1)—环境配置

环境配置一、获取Flutter SDK1、去flutter官网下载其最新可用的安装包,转到下载页2、将flutterSDK进行解压【最好放到一个指定的目录下,后面设置path路径还需要用】3、添加环境变量❯ cd ~❯ vim .zshrc# 将下面的path拷贝到文件最后, esc => :wq! 保存即可# Flutter Pathexport PATH="$PATH:[pwd]/flutter/bin"# eg: export PATH="$PATH:/Users/xxx/

2020-12-23 13:48:11 321

原创 如何在window和mac共用一个移动硬盘

经常使用硬盘的小伙伴们都知道,新买的移动硬盘,要想在Windows系统使用的话是可以直接使用的,因为一般情况下新买的移动硬盘格式是适用于Windows系统的NTFS格式;如果想让该移动硬盘也能在苹果的Mac系统下也能正常使用,那就需要把新买的这个移动硬盘进行修改格式处理。一般情况下,要在新买的移动硬盘拿到手之后,做的第一件事情就是对移动硬盘进行格式转换处理,因为这样操作比较简单,格式化的时候不用考虑移动硬盘里面的资料是否备份,格式化移动硬盘的时候会把移动硬盘里面存储的所有文件都会被清理掉,所以看完本篇博

2020-11-21 16:17:09 22171 2

转载 Docker入门

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发。一、环境配置的难题软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有

2020-11-15 15:30:46 142

原创 pwa简介

什么是pwa?author: 果果 data:2020.04.10 21:58pwa定义Progressive Web App, 简称 PWA,翻译过来就是渐进式增强WEB应用,是Google 在2016年提出的概念,2017年落地的web技术。是提升 Web App 的体验的一种新方法,能给用户原生应用的体验PWA 的主要特点1、可靠 : 即使在不稳定的网络环境下,也能瞬间加载...

2020-04-25 20:40:44 554

原创 manifest离线缓存技术

manifestauthor: 果果 data:2020.04.25 17:06html属性 manifest定义manifest 属性规定文档的缓存 manifest 的位置。HTML5 引入了应用程序缓存,这意味着 Web 应用程序可以被缓存,然后在无互联网连接的时候进行访问。应用程序缓存使得应用程序有三个优点:离线浏览 - 用户可以在离线时使用应用程序快速 - 缓存...

2020-04-25 20:32:29 411

原创 Service Work生命周期

service work的生命周期author: 果果 data:2020.04.25 16:49Service Worker 的使用过程很简单,所处理的事情也相对单一,我们基本上需要做的就是利用这个 API 做好站点的缓存策略。在页面脚本中注册 Service Worker 文件所在的 URL。Worker 就可以开始激活了,激活后的 ServiceWorker 可以监听当前域下的...

2020-04-25 20:30:40 550

原创 Service Work简介

什么是pwa?author: 果果 data:2020.04.10 21:58pwa定义Progressive Web App, 简称 PWA,翻译过来就是渐进式增强WEB应用,是Google 在2016年提出的概念,2017年落地的web技术。是提升 Web App 的体验的一种新方法,能给用户原生应用的体验PWA 的主要特点1、可靠 : 即使在不稳定的网络环境下,也能瞬间加载...

2020-04-25 20:23:49 4568

原创 PHP之Smarty模板学习

created by fuguoyu 2019.10.21一、项目搭建区域1、引入和实例化Smarty // smarty的引入和配置化 require ('./Smarty/Smarty.class.php'); $smarty = new Smarty();2、五配置两方法 //五配置 两方法 $smarty->left_delimiter...

2019-10-21 16:32:24 366

原创 编译器预编译与变量提升

先有鸡还是先有蛋? 直觉上会认为 JavaScript 代码在执行时是由上到下一行一行执行的。但实际上这并不完全正确,我们来看下面2个例子//例子1:a = 2;var a; console.log( a ); //2//例子2console.log(a); //undefinedvar a = 2;通过这2个例子,我来深入的了解一下。到底是声明(蛋)在前,...

2019-09-25 11:09:38 317

原创 链式调用的原理

在搬砖的过程中,可能会遇到很多的链式调用,最常见的那就是jquery中链式调用,如下图:$("p").css("color","red").height("100px");那么问题来了,它是怎么实现的呢?原理首先咱们先用js来模拟一下这个效果: class Person { constructor(name) { this.na...

2019-09-23 16:17:24 943 2

原创 document.body.scrollTop滚动失效

先来说一下场景: 进入页面之后,需要页面滚动到指定的标签位置,但是如下设置之后,并没有什么效果document.body.scrollTop=(0,300)解决方案:let htmlDom = document.documentElement;htmlDom.scrollTo(0,300)问题解决了,但是这2中写法有啥区别呢?咱们继续往下看:1、什么是doc...

2019-09-20 19:32:09 1953

原创 谷歌浏览器设置跨域

在进行前端开发设置谷歌浏览器跨域时遇到了问题,百度上说的方法不管怎么设置就是不能跨域,在死怼中发现了可以这样设置跨域(详见三)总结三种方法:一、49版本以前的设置: 在桌面chrome快捷方式的属性中的目标输入框添加 --disable-web-security 添加部分与前面字符之间有空格(有文章说目标引号结尾的加--args --disable-web-secu...

2019-09-20 17:08:21 15552 1

原创 百度编辑器ueditor中的表格添加边框和颜色

关于ueditor表格不显示边框的问题,分为两种:1.ue本身自带表格不显示2.ue复制粘贴进来的表格不显示关于1:找到ueditor.all.js中的下列代码,添加// style="border:1px solid #ddd; for (var r = 0; r < rowsNum; r++) { html.push('<tr' +...

2019-08-13 16:42:14 1323

原创 blob类型对象转为file类型对象

今天楼主遇到一个问题,显示js解压缩文件,然后将解压出来的文件上传到服务器,接口要求传file类型但是通过jszip解压出来,然后再async之后只能是以下几种类型因为类型中没有file文件,只有blob文件,所以只有从这里下手了利用File Api讲blob转成File对象其实我google找了一圈只有 File => Blob,没人写怎么用Blob => Fi...

2019-08-01 19:38:42 30553 9

原创 正则表达式匹配连续相同字符

今天楼主偶遇一道题,下面分享给大家/* 题目:找出字符串中连续出现最多的字符和个数 输入:'aaaavvvvabbbbbffff' 输出:{b: 5}*/那么该怎么做呢?重点在连续上/* 题目:找出字符串中连续出现最多的字符和个数 输入:'aaaavvvvabbbbbffff' 输出:{b: 5}*/var str = 'aaa...

2019-07-26 18:37:20 10717

原创 webApp调试页面的几种方式

前言PC端web页面调试比较容易,这里主要说几种移动端调试的方法,从简单到复杂、从模拟调试到远程调试,大概分为几部分:1、Chrome DevTools(谷歌浏览器)的模拟手机调试2、weinre(web inspectorremote)远程调试工具3、微信的“web开发者工具”,集成了Chrome DevTools和weinre,做的比较好4、Chrome DevTools...

2019-07-19 19:26:44 2137 2

原创 数组扁平化

今天看到了数组扁平化处理,犹记得之前面试被问到过,下面介绍一下数组扁平化处理的几种形式:题目要求: /* *将数组 arr = [1,2,3,4,[5,6,7,[8,9]]] 转化为 [1, 2, 3, 4, 5, 6, 7, 8, 9] */1、递归 var arr = [1,2,3,4,[5,6,7,[8,9]]]; //方法一:递归...

2019-07-15 14:47:29 192

原创 console.log(12.toString())为啥会报错呢?

先看2段代码1、let a = 12;console.log(a.toString()) //122、console.log(12.toString()); //Uncaught SyntaxError: Invalid or unexpected token这是为什么?搭眼一看都是一样的呀?是否有这个疑惑?接着往下看,下面来介绍一下: 在JavaScri...

2019-07-05 18:42:16 1277

转载 经典面试题之赋值操作

题目:var a={n:1};var b=a;a.x =a ={n:2};console.log(a.x);console.log(b.x);答案:alert(a.x);// --> undefinedalert(b.x);// --> {n:2}讲解:估计大部分人对a.x=undefined存在疑问。这里将原则总结为一句话:代码的执行顺序,先从左到...

2019-06-25 11:10:15 372

原创 react之组件异步加载

我们在用react的时候,希望组件异步加载,提高性能,那么应该怎么实现呢?往下看。。。解释一波:react异步加载的方法很多,这里只说一种,因为这一种直接使用react的特性就可以了,不需要另外配置webpack,就是用一个小技巧去import组件,所以方便,实现简单。写一个组件A,这个组件内部会加载另外的组件B,用B的内容完全覆盖到A上面,路由需要打开A的时候,内容加载的B才会调...

2019-06-10 11:42:08 4077

转载 介绍下BFC,IFC,GFC和FFC

What‘s FC? 一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。BFC BFC(Block Formatting Contexts)直译为"块级格式化上下文"。Block Formatting...

2019-05-14 09:49:19 1271

原创 按钮点击触发的事件只生效一次

朋友的一个面试题如下:面试官问:写一个函数,使按钮点击触发的事件只生效一次???你: 。。。【往下看】方法1: /** 方法1: 通过设置全局变量来控制 */ var oBtn = document.getElementById('btn') var isClick = false; o...

2019-05-05 18:28:37 12412 1

原创 javascript基本排序算法

咱们在这说一下基本的排序算法吧!以下主要说到基础的三种排序【冒泡,选择,插入】,处理大量数据的【快排】先说一下原理:1、冒泡排序: 冒泡排序是因为使用这种排序算法排序时,数据值会像气泡一样从数组的一端漂浮到另一端。假设正在将一组数字按照升序排列,较大的值会浮动到数组的右侧,而较小的值则会浮动到数组的左侧。之所以会产生这种现象是因为算法会多次在数组中移动,比较相邻的数据...

2019-04-15 10:08:05 245

原创 sessionStorage跨标签取值

需求:当打开一个项目地址,写入sessionStorage之后,再打开一个tab页,取不到sessionStorage;why?怎么才能取到?答: ...先看MDN文档sessionStoragelocalStorage通过开发者文档可以看出,localStorage可以跨标签,但是sessionStorage不可以跨标签,因为sessionStorage是基于会话级别...

2019-04-03 22:50:26 5440

原创 类数组的push方法

面试官: 知道push么?XXX:知道!面试官:做做下面这个题吧。。。XXX: .... var obj = { '2': 3, '3': 4, length: 2, splice: Array.prototype.splice, push: A...

2019-04-01 09:47:03 2331

原创 cross-env跨平台设置环境变量

现在有一需求就是:在一个vue的项目中,在测试环境和生产环境打包的时候,链接的路径不一致?如何在package.json中设置,通过不同的命令来实现?首先cross-env是什么?答:cross-env能跨平台地设置及使用环境变量****大多数情况下,在windows平台下使用类似于: NODE_ENV=production的命令行指令会卡住,windows平台与POSIX在使用命...

2019-03-21 14:28:17 6178

转载 单点登录的三种实现方式

先上楼主图,声明一下,楼主也是通过cookie的同域来来实现单点登录,将cookie存在顶级域名之下。&为什么会有isLogin这个状态呢?为什么不通过cookie直接判断呢?答:经技术老大讲解,咱们要和咱们自己的子系统后台建立会话,就是通过isLogin这个状态来判断,所有的交互是通过子系统的后台来进行的,而不是通过cookie与sso建立会话!*************...

2019-03-18 16:52:18 4978 1

原创 数组中出现次数最多的数和出现的次数

楼主朋友去某公司面试,遇到了下面这个面试题,本来楼主朋友就有解决方案,奈何面试官难为人。。。题目:找出数组中出现次数最多的数和出现次数?不能使用循环!不能使用循环!不能使用循环!楼主思考了半天。。。思路:排序,取第一个元素,求出最后一个元素的位置,相减,得出个数,取上个元素最后的位置+1的元素,再求新元素的最后出现位置,相减。比较取大者,再继续下去,也就是递归。代码实现:&l...

2019-03-13 21:37:57 7844 2

原创 微信小程序开发的坑---获取小程序码

今日楼主正在搞原生小程序,想搞一下转发功能,而转发功能就需要获取到小程序码,方便别人识别二维码并进入小程序;起因,楼主按照官网,先获取access_token;然后拿着access_token去获取小程序码,奈何经验不足,获取回来的二进制流不会处理。不过,奋斗了一上午,中午知道原因在哪了?下面咱们来讲一下。1、先看获取小程序码的官方api(共有三种,根据需求自己选择,楼主选不受限制的)...

2019-03-13 15:55:08 3396 2

原创 微信小程序开发的坑---换行,空格写法

今天,咱们来说一下,微信小程序中,换行和空格的写法。1、空格 (1)在咱们的html中,咱们的空格都是可以用空格键或者&amp;nbsp;来写,那么在小程序中是否可以呢? 经过测试,空格键来写空格是完全没有问题的,&amp;nbsp;会被解析成字符串来渲染 (2)问题来了,那么在text中,用空格键来写空格有几种方式呢?请移步官方文档 ...

2019-03-12 15:40:21 11849

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除