自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高先生的猫

求知若渴,虚心若愚。 VX:Redamancy_C33

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

原创 js把今天的日期格式化成年月日

function formatTime() { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); if (month < 10) { month = "0" + month; } if (day < 10) { ...

2020-12-30 16:38:12 444

原创 js 将秒或毫秒 转化为时分秒格式

// value 秒 如果是毫秒 乘以1000即可function formatSeconds(value) { var theTime = parseInt(value);// 秒 var theTime1 = 0;// 分 var theTime2 = 0;// 小时 if (theTime > 60) { theTime1 = parseInt(theTime / 60); theTime = parseInt(theTime.

2020-12-25 13:46:43 489

原创 浏览器与Node的事件循环(Event Loop)有何区别?

一、线程与进程1.概念我们经常说JS 是单线程执行的,指的是一个进程里只有一个主线程,那到底什么是线程?什么是进程?官方的说法是:进程是 CPU资源分配的最小单位;线程是 CPU调度的最小单位。这两句话并不好理解,我们先来看张图:image进程好比图中的工厂,有单独的专属自己的工厂资源。 线程好比图中的工人,多个工人在一个工厂中协作工作,工厂与工人是 1:n的关系。也就是说一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线; 工厂的空间是工人们共享的,这象征一.

2020-12-23 13:57:57 317

原创 Sass: 变量名中使用字符串模板

问题使用 Sass 的时候,我们可能在某些场景下使用到字符串模板,如:@mixin set-border($side) { border-#{$side}: solid 1px #000;}.header { @include set-border("top");}这些会编译成:.header { border-top: solid 1px #000; }这里主要是想在使用变量的同时去渲染不一样的 CSS 属性。但是现在 Sass 还不允许直接在..

2020-12-23 13:56:53 346

原创 ios和安卓手机唤起相机和相册的问题

<input id="uploadInput" type="file" maxlength="6" accept="image/*" multiple="multiple"/>有个属性capture可以调用相机,摄像,录音功能。加上multiple之后capture没有任何用。下面是我在开发中遇到的某些手机表现的差异:不加capture属性,但是加上multiple属性,苹果手机和一般安卓手机(小米note4,一加,魅族,华为等)都可以默认同时唤起相机相册文件。但是...

2020-12-23 13:55:54 180

原创 vue:巧用事件委托提升性能

大量的事件处理函数会影响性能:事件处理函数本质上是一种函数,是一种对象,存放在内存中,设置大量的事件处理函数会使内存中的对象变多,影响程序的性能和用户体验,所以为了更好的利益事件处理函数,可以巧用事件委托来提升性能什么是事件委托如果想要给若干个子节点绑定相同的事件(比如click),可以把事件统一绑定到父节点上,在父节点上统一处理从子节点冒泡上来的事件,这种技术叫做事件委托Vue中如何实现事件委托呢?使用场景:后台管理项目中常见的列表项有一列操作按钮,我们通常是v-for列表渲染按钮并且

2020-12-23 13:54:58 74

原创 CSS:outline的用法,用outline实现镂空效果

1.outline的用法outline用法和border类似, 如下:.outline { outline: 1px solid #000;}两者表现也类似, 都是给元素的外面画框,但是,作用却不一样。2.outline的特性(1)outline是一个和用户体验密切相关的属性,与focus状态和键盘访问关系密切。在访问网页的时候,如果鼠标坏了,这时候我们一般会用tab键来按次序不断focus控件元素,包括:链接、按钮、输入框等表单元素,或者focus设置了tabindex的普通

2020-12-23 13:53:44 173

原创 js数组reduce高级应用

计算数组中每个元素出现的次数let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];let nameNum = names.reduce((pre,cur)=>{ if(cur in pre){ pre[cur]++ }else{ pre[cur] = 1 } return pre},{})console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, B.

2020-12-23 13:51:41 24

原创 Vue不识别<br>标签

问题描述:如图,<P>标签内直接输入标签生效,当使用变量的时候,变量中的不识别。<!--详情--><div> <p>开发者的话</p>› <p>{{details.intro}}</p></div>输出如图:问题原因vue框架默认输出为v-text如果需要识别html标签,需要修改代码为:<!--详情--&...

2020-12-23 13:50:51 304

转载 vue computed和watch的区别

computed是一个计算属性(被计算出来的属性就是计算属性),不需要加括号,会根据依赖是否变化来缓存。展示用户名//引用的是完整版Vueimport Vue from "vue/dist/vue.js";Vue.config.productionTip = false;new Vue({ data: { user: { email: "wuyouzhen@qq.com", nickname: "Luna", pho.

2020-12-23 13:49:31 532

原创 小程序如何封装路由?

路由方法有五个,常用的有三个switchTab、navigateTo、navigateBack简单介绍一下这五个方法及使用场景 switchTab,跳转tabBar页面专用,其他页面出栈,新页面入栈 navigateTo最常用的路由跳转,会加入到页面栈,允许返回,也就是新页面不断入栈 navigateBack返回,只能返回到页面栈中存在的页面,页面不断出栈,直到到达目标页 redirectTo关闭当前页面,跳转某个页面,当前页面不会加入到页面栈,也就是说当前页面不能通过.

2020-12-23 13:42:50 50

原创 微信小程序如何实现页面传参

微信小程序之传参的几种方法我们先来看一张图, 这里面总结了几种方法:接下来, 我就这张图做简单说明, 已经明白的大佬们可以直接跳过, 也还请多多指教~1. navigator组件实现页面跳转时可携带参数 // 假设在js文件的data数据中有申明userCode变量 点我跳转到home主页2. navigateTo()方法实现页面跳转时可携带参数 let userCode = "test"; wx.navigateTo({ ...

2020-12-23 13:41:15 393

原创 JS 获取图片宽高

一般用于审核后台,比如说要求图片在一定区间内才能加精。也用于在 canvas 中裁图时计算缩放比例。js获取图片宽高获取 naturalWidth(callback 版本)方案为获取 naturalWidth。那么 naturalWidth 和 width 有什么不同?naturalWidth 标识图片的原始宽高。width 因为历史问题,标识的其实是 DOM 元素宽高。因为 img 标签会被图片撑开,所以在不设置 width 属性时,width == natural...

2020-12-20 17:55:15 230

原创 尾调用与尾递归

本讲将对尾调用与尾递归进行介绍:函数的最后一条执行语句是调用一个函数的形式即为尾调用;函数尾调用自身则为尾递归,通过改写循环即可轻松写出尾递归函数。在语言支持尾调用优化的条件下,尾调用能节省很大一部分内存空间。什么是尾调用问:何为尾调用?说人话:函数的最后一条执行语句是调用一个函数,这种形式就称为尾调用。让我们看看以下几个例子。// 正确的尾调用:函数/方法的最后一行是去调用function2()这个函数public int function1(){ return fu.

2020-12-20 17:09:07 37

原创 2020-12-20

之前学vue的时候看到过异步加载数据的写法,并且在vue里面用的大都是ES6的语法。对于async和await并不太了解,网上说在uniapp中请求数据时总是数据和页面不同步,用了他俩可以将数据搞同步。那今天就搞搞async和await1.在uniapp中封装一个请求方法,文件名request.jsexport default function request(url, data = {}, method = 'GET') { //data和method是初始化值 return new .

2020-12-20 17:06:56 41

原创 监听Element input标签的回车事件

<el-input v-model="name" @keyup.enter.native="onSubmit" placeholder="name"></el-input>

2020-12-19 10:54:02 226 1

原创 elementUI Table获取单击的是第几行和第几列

<!--html--><el-table :cell-class-name="tableCellClassName" @cell-click="cellClick"></el-table>//jsmethods:{ tableCellClassName({row, column, rowIndex, columnIndex}){ //注意这里是解构 //利用单元格的 className 的回调方法,给行列索引赋值 .

2020-12-18 17:45:49 3306 1

原创 jquery寻找节点

$("p")//引号第一个无特殊字符,在页面中选取所有 <p> 元素:$(".test")//在引号中第一个字符为“.”,即选择的是的节点$("#test")//在引号中第一个字符为“#”,即选择的是id="test"的节点//标签不唯一,如果找到符合标签的有多个,则会返回所有符合条件的节点。//id是唯一的,如果找到符合id的有多个,则只会返回一个。//class不唯一,如果找到符合id的有多个,则会返回所有符合条件的节点。$("#test1").parent(); // 父节.

2020-12-15 15:51:20 41

原创 用 JS 一次获取 HTML 表单的所有字段 ?

问:如何用js一次获取html表单的所有字段 ?考虑一个简单的html表单,用于将任务保存在待办事项列表中: <form> <label for="name">用户名</label> <input type="text" id="name" name="name" required> <label for="description">简介</label> <input ty...

2020-12-15 15:51:06 125

原创 基于vue-cli4配置px2rem做到移动端自适配

在实际开发中,我们需要将设计稿中的px转换成rem,然后再写入到样式中。postcss-px2rem可以帮助我们自动完成转换。一、安装模块cnpm install amfe-flexible postcss-px2rem -Samfe-flexible:是rem的适配插件。(例:750px == 10rem) postcss-px2rem:负责将输入的px自动转为rem。二、入口文件main.js里引入amfe-flexibleimport "amfe-flexib...

2020-12-15 15:50:54 249

原创 H5端监听页面返回

<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <script src="https://cdn.boot.

2020-12-15 11:31:38 160

原创 js清空数组方法

1 splice方法splice清空数组并塞入新数据的方法:aa.splice(0,aa.length,5);注意:splice 返回的是含有被删除的元素的数组,没有删除的话返回空数组:returndelete 02 length赋值为0length3 赋值[]新的空数组...

2020-12-14 09:22:55 64

原创 instanceof判断方法

A instanceof B如果B函数的显示原型对象在A对象的原型链上,返回True否则返回FalseA.proto (.proto.proto.....)和 B.prototype 的指向是否相同function Foo() {};var f1=new Foo();console.log(f1 instanceof Foo);//trueconsole.log(f1 instanceof Object);//true f1的__proto__为Foo的原型对象,原型对象为Object的实例

2020-12-14 09:21:46 217

原创 Docker基础入门

1.Doker是什么 2.Docker的特点 3.初次安装和使用 4.安装一个nginx 5.安装一个mysql 6.DockerFile定制镜像 7.定制NodeJS镜像 8.定制PM2 9.初识docker-compose 10.初识docker Hub1.Doker是什么Build,Ship and Run Any App,AnyWhere ——一次封装,到处执行。 基于Linux的高效、敏捷、轻量级的容器(轻量虚拟)方案2.Docker的特点高效的利用系统资源 快速

2020-12-14 09:20:22 60

原创 JavaScript 数组去重的几种方式

数组是JavaScript中最常见的一种数据结构,数组去重在开发过程中和面试过程中都会经常遇到,现整理了一些用于数组去重的方法,可以用于前端面试准备材料。〇、先准备一个数组let arr = [1,2,3,4,5,3,2,1,'','','1',{},{},null,null,NaN,NaN,undefined,undefined]一、ES6中的Set结构let arr1 = [...new Set(arr)];console.log(arr1); //[1, 2, 3,..

2020-12-14 09:18:59 36

原创 koa-jwt + jsonwebtoken 完成用户鉴权功能

使用 koa-jwt + jsonwebtoken 完成用户鉴权功能。项目地址:https://github.com/Ewall1106/mall安装首先我们安装 koa-jwt 和 jsonwebtoken这两个 npm 包。$ npm install koa-jwt jsonwebtoken --save先明确一下两者的关系:koa-jwt 是负责对 token 进行验证的,而 jsonwebtoken 是负责生成 token 的。JWT 鉴权在 app.js 中引入..

2020-12-14 09:18:02 211

原创 vascript二进制与十进制的相互转换

十进制转为二进制console.log((5).toString(2))二进制转为十进制console.log(parseInt(10,2))

2020-12-14 09:16:19 63

原创 vue sass 中图片路径引用方式

由于vue template 中可以使用根路径加载图片: <img :src="require('@/assets/img/logo.svg')" />scss中是不是也可以这样?尝试了下,失败-_-!!errorcss loader 会把非根路径的url解析为相对路径……但是又不能写成根路径/(不转译),因为没有。那scss中的图片能不能从根路径加载呢?在vue-cli URL Transform Rules,找到了答案:url也就...

2020-12-14 09:09:59 1985

原创 axios封装及其核心功能

项目中用到了axios,需要对其进行简单封装,统一数据处理和错误信息等。发现发送请求的时候可以直接实例调用,不是必须显示调用request。下面2种都可以:const instance = axios.create({ timeout: 5000})return instance({ ...config,})//或者return instance.request({ ...config,})很好奇:实例在不显示调用request的情况下.

2020-12-14 09:08:22 253

原创 移动端页面滚动后不触发touchend事件

在移动端页面进行优化时,一般使用touch事件替代鼠标相关事件,用的较多的是使用touchend事件替代PC端的click和mouseup事件。但是,touchend事件在页面滚动时有个问题。在滚动完成后,如果当前触点的位置所指的元素绑定了touchend事件,这时便会触发该元素的touchend事件,造成误操作。解决方法解决方法很简单,就是在页面滚动时停止touchend事件冒泡,这样就可以防止触发touchend事件。使用方法引入该函数并进行调用。function ..

2020-12-14 09:02:07 120

原创 如何切换npm源

最开始使用npm下载的一些插件的话用的国外的源,下载速度比较慢,有几种方式可以解决;第一种直接设置淘宝的源:npmconfig set registry http://registry.npm.taobao.org/然后使用npm install xxx第二种安装cnpm,npminstall -g cnpm--registry=https://registry.npm.taobao.org然后以后都是用cnpm安装插件,cnpm install xxx第...

2020-12-14 09:01:21 218

原创 输入框获取焦点时value值隐藏与失去焦点时显示

实现需求:1)输入框获得焦点,提示内容消失,边框过渡动画变色2)输入框失去焦点,如果内容为空,提示内容恢复,边框变色;如果内容不为空,只有边框过渡动画变色代码<input type="text" value="邮箱/ID/手机号" style="font-family:-apple-system, sans-serif; color: #999; outline: none; border: 1px solid #eee; transition: .5s ease;" />.

2020-12-11 15:54:21 220

原创 如何实现 textarea 的 autoHeight 功能

这个功能还比较常见,用来获取文本的长宽(避免了计算不准的问题),主要用于实现 textarea 自动变长。可以看到在我们使用 textarea 的时候,有时候需要感知内容的高度,然后动态撑开。(elementUI 的 textarea 就提供了 autosize 的功能。)那我们也想实现这样的功能应该怎么办呢?获取内容,然后统计字符个数估算。中文算两个,英文算一个。但是还是有问题的,比如说非等宽字体。聪明的读者已经看到了我们中间的div效果,就是我们想要的高度。也是 eleme...

2020-12-11 15:53:30 487

原创 html实现邮箱发送邮件_js发送邮件至指定邮箱功能

在前端开发中,JavaScript并没有提供直接操作Email邮箱的功能方法,但是遇到这样的需求,我们应该如何实现js发送邮件至指定邮箱功能呢?下面列举能够在通过前端实现邮件发送的几种方式:方式一:利用a标签的href属性<a href="mailto:sample@fly63.com?subject=test&cc=sample@hotmail.com&subject=主题&body=内容">send mail</a>这种方式需要客户...

2020-12-11 15:49:05 1683 1

原创 php环境下nginx超时问题解决

1.问题分析nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序执行需要90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。通常有以下几种情况导致:(1).程序在处理大量数据,导致等待超时。(2).程序中调用外部请求,而外部请求响应超时。(3).连接数据库失败而没有停止,死循环重新连。出现这种情况,我们可以先优化程序,缩短执行时间。另一方面,可以调大nginx超时限制的参数,使程序可以正常执行。对于访问超时的设定,ngi

2020-12-11 15:48:11 578

原创 JavaScript的书写位置

js有3种书写位置,分别为行内、内嵌和外部。行内式<input type="button" value="点我试试" onclick="alert('Hello World')" />可以将单行或少量js代码写在html标签的事件属性中(以 on 开头的属性),如:onclick注意单双引号的使用:在html中我们推荐使用双引号, JS 中我们推荐使用单引号可读性差, 在html中编写JS大量代码时,不方便阅读;引号易错,引号多层嵌套匹配时,非常容易弄...

2020-12-11 15:47:31 130

原创 优雅解决按钮”重复点击“问题

一、这个问题怎么解决呢?简单点,使用一个lock标记,在请求发出时上锁,上锁后就不可以再发请求,可以在请求结束后解锁:let clickButton = (function () { let lock = false return function (postParams) { if (lock) return lock = true // 假设使用axios发送请求 axios.post('urlxxx', postParams).then(

2020-12-11 15:46:47 83 1

原创 h5移动端视频自动播放

在移动端使用h5自动的video标签播放视频,设置autoplay属性,在android端部分不支持,全屏播放还存在层级问题,ios10以上版本支持视频自动播放,以下版本不支视频自动播放。jsMpeg是js写的视频、音频解码器,能使用WebGL&Canvas2D渲染以及WebAudio声音输出。官网:https://jsmpeg.com/github:https://github.com/phoboslab/jsmpeg官方例子:https://jsmpeg.com/perf.html

2020-12-11 15:45:21 1567

转载 内嵌式js微信扫码登录及自定义样式

关于微信扫码登录网站的功能介绍,请阅读官方文档【网站应用微信登录开发指南】根据官方文档我们知道微信扫码登录有两种方式一种是跳转到一个大黑屏二维码界面进行扫码登录:(参见博客:PHP实现跳转式微信扫码登录网站)另外一种是把二维码内嵌到页面中,这样可以自定义一些样式,例如二维码的大小、是否有标题等,默认效果如下:(官方文档说的挺好,JS微信登录主要用途:网站希望用户在网站内就能完成登录,无需跳转到微信域下登录后再返回,提升微信登录的流畅性与成功率)实现代码如下:<!.

2020-12-11 15:40:52 287

原创 微信小程序字符串转base64 btoa报错解决办法

function base64_encode(str) { var c1, c2, c3; var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var i = 0, len = str.length, string = ''; while (i < len) { c1 = str.charCodeAt(i++) & 0xff; ..

2020-12-11 15:26:33 887

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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