自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深夜代码酒神

本人不是酒神,就是夜里写代码困的时候,偶尔喝下酒提提神。一个喜欢在夜深人静的时候写代码的全栈工程师,主攻node.js+vue和小程序,欢迎同行来骚扰~~(扣扣960696163)

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

原创 React 组件中怎么做事件代理

React 并不会把所有的处理函数直接绑定在真实的dom节点上,而是把所有的事件绑定到结构的最外层(合成事件层),使用一个统一的事件监听器,这个事件监听器上维持了一个映射来保存所有组件内部的事件监听和处理函数。所有事件都是委托在id = root的DOM元素中,之所以会将事件委托从document中移到id = root的DOM元素,当事件发生时,首先被这个统一的事件监听器处理,然后在映射里找到真正的事件处理函数并调用。1)事件委派:React 会把所有的事件绑定到结构的最外层,使用统一的。

2023-06-25 21:35:33 762

原创 网络与TCP-IP

网络与TCP/IP

2022-06-27 01:40:33 268 1

原创 nodejs与后端

nodejs与后端

2022-06-27 01:35:56 1856

原创 node.js原生模块

node.js原生模块

2022-06-27 01:34:35 671

原创 Vue源码篇

Vue源码篇

2022-06-27 01:33:34 1572

原创 Vue零碎知识篇

Vue零碎知识篇

2022-06-27 01:32:32 349

原创 Vue基础理论篇

vue基础

2022-06-27 01:31:07 361

原创 React篇

react篇

2022-06-27 01:28:30 393

原创 JavaScript浏览器(兼容、调试)

JavaScript浏览器(兼容、调试)

2022-06-27 01:25:07 1223

原创 JavaScript理论篇2之内存机制

JavaScript理论篇2之内存机制

2022-06-27 01:14:11 532

原创 JavaScript理论篇1之基础理论

JavaScript理论篇1之基础理论

2022-06-27 01:10:03 274

原创 Vue 基础知识之 Vue.extend

Vue.extend 属于 Vue 的全局 API,在实际业务开发中我们很少使用,因为相比常用的 Vue.component 写法使用 extend 步骤要更加繁琐一些。但是在一些独立组件开发场景中,Vue.extend + $mount 这对组合是我们需要去关注的。官方文档学习开始之前我们先来看一下官方文档是怎么描述的。Vue.extend( options )参数:{Object} options用法:使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。data 选项是

2021-12-26 21:00:48 328

原创 React Hook 详解

Hook 是 React16.8 的新增特性。React Native 从 0.59 版本开始支持 Hook。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。1、React.FC<>React.FC<>的在typescript使用的一个泛型,FC就是Function Component的缩写,是函数组件,在这个泛型里面可以使用useState2、什么是hooks1】本质上就是一种特殊的函数,hooks可以在不编写 class类组件

2021-12-24 03:08:13 767

原创 浅谈函数式编程

浅谈函数式编程函数式编程本质上是一种数学运算。因为是数学运算所以自然就会涉及到加减乘除等运算和交换律结合律同一律分配律等运算法则。如果要函数顺利的进行数学运算,就要求函数必须是纯的,不能有副作用,即纯函数。但如果只是简单的将纯函数用于复杂的加减乘除运算,则会写出一堆看起来杂乱无章的、不符合人类阅读习惯和编码直觉的代码。因此函数式编程需要借助组合函数、柯里化、递归、闭包和各种各样的高阶函数让代码看起来更符合人类的直觉和逻辑思维的方式。再说一等公民当我们在说函数是“一等公民”的时候,不要想当然的以为函数就

2021-03-07 23:59:14 214

原创 js闭包初步认识

1】定义闭包就是一个函数,这个函数能够访问其他函数的作用域中的变量2】作用a、够访问其他函数的作用域中的变量b、让这些变量的值始终保持在内存中,不会因为调用后被自动清除3】常见的结构(function内嵌一个带return的function)闭包有时候不一定带return的4】闭包的优点(应用场景)a、可以读取函数内部的变量b、让这些变量的值始终保持在内存中,不会在f1(父函数...

2020-01-21 16:00:11 218

转载 JavaScript中原型对象的彻底理解

一、什么是原型原型是Javascript中的继承的基础,JavaScript的继承就是基于原型的继承。1.1 函数的原型对象​ 在JavaScript中,我们创建一个函数A(就是声明一个函数), 那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对象( 即:prototype的属性的值是这个对象 )。这个对象B就是函数A的原型对象,简称函数的...

2019-12-31 23:47:54 132

原创 字符串转json对象报错Unexpected token o in JSON at p

今天使用js使用$.parseJSON字符串转json对象报错Uncaught SyntaxError- Unexpected token o in JSON at position 1,一直找不到原因,经过摆渡,看到了一句话:JSON将对象转化为字符串存储在本地是有严格要求的,比如说是符号,或是非法字符串之类的,都可能影响后面JOSN.parse的解析。。。{‘type’:‘name’} 改成...

2019-12-11 22:59:48 57699

原创 axios 是如何封装 HTTP 请求的

概述前端开发中,经常会遇到发送异步请求的场景。一个功能齐全的 HTTP 请求库可以大大降低我们的开发成本,提高开发效率。axios 就是这样一个 HTTP 请求库,近年来非常热门。目前,它在 GitHub 上拥有超过 40,000 的 Star,许多权威人士都推荐使用它。因此,我们有必要了解下 axios 是如何设计,以及如何实现 HTTP 请求库封装的。撰写本文时,axios 当前版本为 ...

2019-11-28 17:21:42 57512

原创 js数组去重,能用几种方法实现?

1.使用es6 set方法 […new Set(arr)] let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr)=> […new Set(arr)]; unique(arr);//[1, 2, 3, 4, 6, 7]2.利用新数组indexOf查找 indexOf() 方法可返回某个指定的元素在数组中首次出现的位置。如果没有就返回-1。...

2019-11-03 22:03:43 57523

原创 深拷贝与浅拷贝的区别

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。此篇文章中也会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。我们来举个浅拷贝例子:let a=[0,1,2,3,4],b=a;console.log(a===b);a[0]=1;...

2019-10-14 17:20:54 109169

原创 小程序canvas使用网络图片真机不显示解决方案

图片都是线上的,可以直接放到onLoad里边自动检测1.注意点: 在绘制网络图片时必需先将其保存到本地然后在绘制。当我们在加载一个带有图片的页面时,图片都会被暂存到本地,由此我们可以通过wx.gerImageInfo接口访问本地的暂存路径来调用drawImage方法绘制图片。如下:(注意网络图片的地址一定要在合法域名内)// 小程序二维码var path1 = ‘https://www.w...

2019-10-14 17:16:54 110864

原创 mpvue父子组件props传参失败的解决方案

表现父组件数据还未获取时就向子组件传props,导致子组件不到数据而报错。原因mpvue虽然同时兼容vue和小程序的生命周期,但有先后之差了解更多请戳:理解mpvue的生命周期解决方案用v-if控制子组件的渲染,判定条件为传入的值,如:这样,在没有父组件没有获取到数据的情况下,就不会编译子组件,也就不会报错了~...

2019-10-14 17:08:37 109436

原创 微信IOS中自动播放声音

微信IOS中自动播放声音 是被禁止的。除非用户主动触发。但是用了微信jsdk后 就可以在 wx.ready()里 控制播放了。//第一步:首先加载一个微信JS-SDK//第2步:写一些配置...

2019-10-14 17:06:33 109767

原创 VUE前端界面在iOS中遇到的坑

一、滑动效果卡顿问题解决方案在需要滑动的位置加上如下css代码:-webkit-overflow-scrolling:touch;以此,界面滑动卡顿问题得以解决,但是,这一行代码会带来一个副作用:1、在滑动界面之中使用的position:fixed 无法固定下来,会随着界面进行一起滚动解决方法:将使用的position:fixed(头部导航)写在滑动部位外部,在使用绝对定位进行布局,以此...

2019-07-06 09:50:19 22523

原创 vue清除计时器报错timeout.close is not a function

timeout.close is not a functionclearInterval(this.timer); //this.timer 打印也有值 但就是报错结果加个 window 就好了window.clearInterval(this.timer);

2019-07-06 09:49:19 22605 1

原创 js生成随机数

生成6位随机数字:(‘000000’ + Math.floor(Math.random() * 999999)).slice(-6)

2019-07-06 09:47:05 22134

原创 js过滤emoji表情

使用JS过滤emoji表情的主要原因:input标签中输入emoji表情,提交表单后插入数据库报错。原因是因为UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。于是找到两个解决方案:1.将Mysql的编码从utf8转换成utf8mb42.前端JS校验过滤掉emoji表情下面主要粘下过滤emoji的JS代码fu...

2019-07-06 09:45:30 25379 1

原创 vue中显示格式化的xml

用到了vkbeautify模块import vkbeautify from ‘vkbeautify’vkbeautify.xml(‘xxxxxxxxx’){{xxxxxxxxx}}

2019-06-24 10:51:50 82930 6

原创 vue-cli3.x打包后静态资源的路径

vue-cli3.0移除了配置文件目录: config和build文件夹,可以说是非常的精简修改vue.config.jsmodule.exports = {} 里面的publicPath属性即可

2019-06-24 10:50:50 82006 1

原创 vue复制粘贴板

主要使用了 vue-clipboard2 模块https://vue-clipboard2.inndy.tw/

2019-06-24 10:50:18 77950

原创 vue之vue-cookies

npm链接:https://www.npmjs.com/package/vue-cookies安装:npm install vue-cookies --save使用:import Vue from ‘Vue’import VueCookies from ‘vue-cookies’Vue.use(VueCookies)Api:  设置 cookie:this.cookies.set...

2019-06-24 10:48:39 81291

原创 axios全局设置url公共请求头

公司项目外链到别公司项目或者网页(通俗的说就是通过别的随意网页跳转至你项目网页),这时公司项目就要区分是从哪个公司或者哪个网页跳转过来的,从而进行不同的接口请求(公司所有接口都要带上请求头)。大部分做法都是设置请求头来区分。做法如下:废话不多说 直接上代码 通俗易懂:新建一个配置文件requst.js 内容如下1 import axios from ‘axios’;2 // 设置公...

2019-06-24 10:47:47 79853 2

原创 获取access_token注意事项

资料来源:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433744592公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:{“errcode”:45009,“errmsg”:“api fr...

2019-06-17 00:07:57 28472

原创 node.js获取当前IP地址

以下函数可实现该功能:function getLocalIP() {const os = require(‘os’);const ifaces = os.networkInterfaces();let locatIp = ‘’;for (let dev in ifaces) {if (dev === ‘本地连接’) {for (let j = 0;j < ifaces[dev]...

2019-06-17 00:00:33 31025

原创 nodejs+MQTT协议实现远程主机控制

MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。所谓物联网,就是“万物互联”,我们的电脑、工控机、开发板什么的也是“物体”,当然也可以加入“物联网”。远程控制电脑,有很多种方法,如Mstsc、TeamViewer、VNC、SSH、QQ远程等。在我参与过的几个物联网项目中,有这么一个...

2019-06-16 23:57:34 28288

原创 node.js 升级

说明:1】node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,当一个模块不能在你当前的node版本上使用,此时你需要升级node2】幸运的是,可以用一种非常简单的方法来管理你的Node版本,即使用Node Binary管理模块“n”3】n 可以做到快速、无缝升级node 和 npm 的版本1、 检查 Node的当前版本node -v2、清除npm cachenpm...

2019-06-10 15:36:18 29656

原创 核心模块的中间件body-parser

Node中的核心模块分两类:1】是自带的核心模块,如http、tcp等2】是第三方核心模块,express就是与http对应的第三方核心模块,用于处理http请求express在3.0版本中自带有很多中间件,但是在express 4.0以后,就将除static(静态文件处理)以外的其他中间件分离出来了;在4.0以后需要使用中间件时,就需要单独安装好相应的中间件以后调用,以下3.0与4.0中间...

2019-06-10 15:33:03 31173 2

原创 CentOS7下pm2开机自启动

1.下载pm2:cnpm install -g pm22.pm2启动项目:#启动项目pm2 start /usr/share/nginx/vue-blog/src/server/bin/www#保存当前进程状态pm2 save#生成开机自启动服务pm2 startup3.启用开机自启:systemctl enable pm2-root...

2019-06-10 00:25:24 31794

原创 CentOS7用yum安装node.js

更新node.js各版本yum源Node.js v8.x安装命令#curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -Node.js v7.x安装命令#curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -Node....

2019-06-10 00:15:31 31392

空空如也

空空如也

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

TA关注的人

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