自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (1)
  • 问答 (16)
  • 收藏
  • 关注

转载 锁定项目 Node 版本和包管理器

锁定项目 Node 版本和包管理器

2022-05-18 18:05:43 1101 1

原创 uniapp使用高德定位

1.注册账号并申请Key首先,注册开发者账号,成为高德开放平台开发者登陆之后,在进入「应用管理」 页面「创建新应用」为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」2.准备页面先建个js文件,加载jsAPIexport default function MapLoader() { return new Promise((resolve, reject) => { if (window.AMap) { resolve(w

2021-07-06 09:14:33 1434

转载 详解webpack-dev-server

解决开发环境的跨域问题F12查看网络请求路径,还是原来的,所以只能从效果上去观察是否正确代理了基本用法mmodule.exports = { //... devServer: { proxy: { '/api': 'http://localhost:3000' } }};请求到 /api/xxx 现在会被代理到请求 http://localhost:3000/api/xxx, 例如 /api/user 现在会被代理到请求 http://localhos

2021-06-24 09:55:23 538

原创 uniapp微信支付宝小程序获取用户信息

我们也知道微信小程序前段时间更新了获取用户信息方法(区别),今天介绍一下

2021-06-07 08:28:51 1441 1

转载 垃圾回收算法的三种方式

前言学习并使用闭包的时候总会在各博客里面看到闭包的坏处有一条:使用不当的闭包将会在IE(IE9之前)中造成内存泄漏uhhh,为什么在IE9之前会造成这样的结果呢?我就开始继续寻找答案,找到一条比较满意的:IE9的JavaScript引擎使用的垃圾回收算法是引用计数法,对于循环引用将会导致GC无法回收“应该被回收”的内存。造成了无意义的内存占用,也就是内存泄漏。先科普一下:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致

2021-05-26 16:35:27 321

转载 Git怎样做分支管理

转载自:https://blog.csdn.net/ShuSheng0007/article/details/80791849相关文章 Git日常开发常用命令汇总 文章目录 前言概述Git的基本使用方法使用Git管理项目的方式主分支支持分支总结图 总结 前言 记得刚工作的时候根本不知道什么是版本管理工具,有一次和别人聊天,人家问你们公司代码用什么版本管理工具?我说啥是版本管理工具,我们一般用U盘拷贝,然后人家就顾左右而言他了。后来我知道了有个东西叫SVN,后来又知道了还有个东西叫G.

2021-05-08 11:03:07 9975

原创 微信小程序获取用户信息(getUserProfile)

最近微信更新了获取用户信息api,原先的getuserInfo基本不能用了,取而代之的是getUserProFile,那我们来看看最新的api该怎么用吧区别:getUserProFilewx.getUserInfo 不在返回用户授权的头像昵称,只返回匿名信息,但 wx.getUserProfile 会返回用户授权的头像和昵称。wx.getUserInfo 授权成功后,当下次调用时,不会再次弹窗,可以直接获取授权成功返回数据,但 wx.getUserProfile 每次都会弹窗,用户确认允许后

2021-04-25 11:22:04 25253 2

原创 vue视图更新机制

我想用过vue的都遇到过更改data中的内容,视图没有更新的问题,本文介绍一下vue的视图更新机制当你把一个普通的 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。1.对于对象如果更改data中的对象的属性的话,是会出发视图更新的。var vm = new Vue({ data:{ a:1 }})

2021-04-18 09:17:11 1363 1

原创 vue父组件动态给子组件传值

父组件给子组件传值,有时是从后台请求到的数据,我们如果是需要在子组件中处理这个数据的话这个值可能会还没有请求到,返回的是undefined,所以我们需要监听这个数据然后做处理,监听就要用到watch了代码://////////父组件:<template> <child :data="data"></child></template><script>export default { data(){ return { data

2021-04-14 08:26:42 590

原创 web相关编码格式

编码方式:escape() 和 unescape()encodeURI() 和 decodeURI()encodeURIComponent() 和 decodeURIComponent();1.escape() 和 unescape()escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。unescape() 函数可对通过 escape() 编码的字符串进行解码。该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的

2021-03-07 00:03:23 299

转载 跨域全面解析

一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)二、什么是跨域http://www.test.co

2021-03-03 10:40:09 153

原创 web相关字符集

web中有不少的1格式,很容易弄混,本文详细介绍web中常用的几种格式

2021-02-17 23:39:17 282

原创 async

async是 Generator 函数的语法糖,优化了语法,更好用,更直观。语法async function name([param[, param[, ... param]]]) { statements }name函数名称。param要传递给函数的参数的名称。statements包含函数主体的表达式。可以使用await机制。返回值是一个Promise,这个promise要么会通过一个由async函数返回的值被解决,要么会通过一个从async函数中抛出的(或其中没

2021-02-17 23:28:29 599 1

原创 微信小程序蓝牙功能

前言:微信小程序目前只支持低功耗蓝牙(BLE),文档中的两套API是可以混合使用的,请大家不用再去社区问这些问题了。微信的文档 已经很详细了,不懂的主要是流程,本文主要介绍流程怎样提交和接收数据,也就是通信。1.正文...

2021-01-25 10:36:35 11883 17

转载 js类型转换

1.js数据类型基础类型:StringNumberBooleanundefinedNull对象类型:ObjectArrayDate

2021-01-13 14:25:43 128

转载 回调函数及应用场景

前言其实我一直很困惑关于js 中的callback,困惑的原因是,学习中这块看的资料少,但是平时又经常见,偶尔复制一下前人代码,功能实现了也就不再去追其原由,这么着,这个callback的概念就越来越混乱,因为你总感觉它是你Ajax请求后调用的那个函数,又感觉它是你某一个函数中的形参而已,而当你有一天看到一点关于Node.js的代码后你会更加崩溃,因为你会发现很多的callback,但是这么着下去肯定是不行的,因为很多的东西如果只是知道概念和理论,没有实践出结果,没有思考和感受,这些东西永远不是你的,所

2020-12-30 20:05:18 2724 2

转载 HTML5之WebSocket

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。现在,很多网站为了实现推送技术,所用

2020-12-28 08:59:45 206

原创 小程序异步获取的openid在其他组件加载中无法获取

1.最近遇到了个问题,就是我想把openid作为全局变量,然后在其他组件的onLoad中使用,但是请求是异步的,经常是组件的onLoad已经执行了,openid还没有请求到,看下我的解决方法

2020-12-26 09:53:08 352

转载 函数取到异步请求的返回值

获取JavaScript异步函数的返回值1.错误尝试当年未入行时,我的最初尝试:<script>function getSomething() { var r = 0; setTimeout(function() { r = 2; }, 10); return r;} function compute() { var x = getSomething(); alert(x * 2);}compute();</script>2.回调函数弹出的不是

2020-12-25 10:59:19 778

原创 微信小程序获取小程序码

官方文档中获取小程序码有三种方法,也可以在小程序后台配置,今天只讲文档中的三种1. wxacode.createQRCode获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制,请求方式:POST请求地址: https://api.weixin.qq.com/cgibin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN请求参数:2. wxacode.get获取小程序码,适用于需要的码数量较少

2020-12-15 08:12:36 3217

原创 小程序登录(附详细文档)

小程序文档比较分散,整理一下小程序的登录流程,方便阅读1.小程序登录先是在小程序内用wx.login获取code,然后发到服务器,服务器通过appid,AppId,AppSecret和code向微信服务器换取openid,session_key等然后就是你自己的登录逻辑了,可以借鉴下官方的(https://developers.weixin.qq.com/ebook?action=get_post_info&docid=000cc48f96c5989b0086ddc7e56c0a)贴

2020-12-08 19:36:42 1467

转载 前端性能优化

方式一:资源压缩合并,减少HTTP请求1.雪碧图,将多张图片合并成一张图片,以此来减少图片请求。但是随着http2与iconfont的普及,雪碧图其实以及被淘汰了。2.合并脚本和样式表。将引入的js文件 和 css 文件 合并成一个文件,减少HTTP请求次数,加快页面响应速度。方式二:非核心代码异步加载2.1异步加载的方式动态脚本加载deferasync2.2异步加载的区别defer 是在HTML解析完之后才会执行,如果是多个,按照加载的顺序依次执行。async 是在加载完之后立即

2020-11-30 17:10:01 96

原创 解决倒计时时间错误问题(多个倒计时)

1.问题描述最近在做一个功能,类似与用户选择商品,点击按钮,出现一个类似购物车的信息展示面板(无刷新),用户在指定时间内不离开就会自动返回,信息面板有一个倒计时,由于是无刷新的,在写倒计时的时候,如果用户多次触发(多次弹出信息面板),倒计时就会出现错误(1.出现多个时间 2.倒计时加快)。遇到问题就想着百度,结果看了一上午,没有一个能解决我的问题的,都是多次触发就会出现问题,我也不能禁用按钮,这个问题困扰我整整一天,最后在思否好心人帮助才完美解决。2.代码这是最初版的代码:function Cou

2020-11-30 16:50:16 1281

原创 微信小程序的同步请求

最近在写小程序,遇到一个问题,就是封装的小程序请求是异步的,而我需要立刻处理这个数据,我用的方法是async、使用前提是微信开发者工具需要开启"增强编译"用Promise封装的请求:const post=(url,data)=>{ return new Promise((resolve,reject)=>{ wx.request({ url:url, method:'POST', dataType:'json', data:da

2020-11-30 11:03:38 4043

原创 为什么Proxy被vue选中

读了阮一峰大佬的《ESMAScript6》很有收获,

2020-11-08 17:36:33 320

原创 详解Reflect

1.概述Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与proxy handlers的方法相同。Reflect不是一个函数对象,因此它是不可构造的。Reflect对象的设计的目的:1. 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上部署,未来的新方法将只部署在Reflect对象上。也就是说,从Reflect对象上可以拿到语言

2020-10-24 09:16:45 1789

转载 详解JS执行上下文(执行环境)

我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题。比如先来一个简单一点的console.log(a); // 这里会打印出什么?var a = 20;变量提升:即将变量声明提升到它所在作用域的最开始的部分函数提升:js中创建函数有两种方式:函数声明式和函数字面量式。只有函数声明才存在函数提升暂时先不管这个例子,我们先引入一个JavaScript中最基础,但同时也是最重要的一个概念执行上下文(Execution Context)。每次当控制器转到可执行代码的时候,就会进入.

2020-10-18 11:34:57 2696

原创 微信小程序定义公共方法

微信小程序定义公共方法还是很简单的,一个三步创建,引入,使用1.创建在page创建文件夹utils,在创建文件utils.js,看下我的在utils.js中定义你的方法,然后导出2.引入在你想要使用的组件中引入var util = require('../../utils/util.js');有的位置不一样路径就不一样,根据自己的调整3.使用util.test('测试自定义方法');这样就成功了。ok,收工...

2020-10-17 17:19:06 2690 1

原创 vue自定义方法

我的是与components同级新建个文件夹(util)util中的util.js就是写方法的地方export default { myutil:function(val){ console.log(val); },}在main.js(全局)中引入,也可以在你使用的组件中单独引入import util from './util/util.js'Vue.prototype.util=util;在组件中调用:this.util.myutil(666);OK,

2020-10-08 18:57:31 808

原创 详解defineProperty,并手动实现双向绑定

大家都知道vue3.0之前的双向绑定原理就是靠defineProperty()方法,那么它有什么神奇之处呢?1.基础介绍Object.defineProperty(obj, prop, descriptor)1.它接受三个参数,而且都是必填的。obj :要定义属性的对象。目标对象prop:第二个参数:需要定义的属性或方法的名字。descriptor:要定义或修改的属性描述符。 属性的描述对象例:var obj = {}Object.defineProperty(obj,"say",{

2020-09-28 15:28:13 669

原创 js原型那些你不知道的事儿

关键词原型, 原型对象, 构造函数·__proto__ , prototype, constructor ,constructorJS在创建对象的时候,都有一个叫做proto的内置属性,用于指向创建它的函数对象的原型对象prototype。内部原型(proto)和构造器的原型(prototype)function Person(){}let p=new Person(); typeof p // objectp是Person的实例对象,Person是

2020-09-28 09:28:28 147

原创 简单易懂的函数防抖与节流

1.防抖(debounce)一个函数被不断触发,在连续触发期间不执行函数,在结束触发后指定时间后执行函数。看代码:function de(fn,interval){ let timer; return function(){ clearTimeout(timer); timer=setTimeout(()=>{ fn.apply(this,arguments); },interval) }}//调用de(fun,2000);2.节流(throttle)在

2020-09-28 09:27:56 312

原创 vue很有用的小知识(持续更新)

1.通过ref操作子组件的事件并传值直接上代码父组件中<template> <model ref='openModel' :receivedata="this.receivedata"></model> //子组件 <div @click="revise">修改</div></template>methods:{ revise(){ this.$refs.openModel.openValue(t

2020-09-28 09:26:02 214

原创 vue之prop

1. 作用Prop想必都很熟悉,通常被用作父传子数据时使用,先简写下传值步骤//子组件接收Vue.component('blog-post', { props: ['title'], template: '<h3>{{ title }}</h3>'})//父组件传值<blog-post title="My journey with Vue"></blog-post>2.Prop的类型props: ['title', 'likes'

2020-09-28 09:25:33 182

原创 比回调函数更好用的Promise

1.定义所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点。对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都

2020-09-28 09:24:29 368

原创 详解ES6中对象的扩展

对象,对象,对象1.属性简写es6允许在大括号中,直接写入变量和函数,作为属性和方法。const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};方法简写let a={ fun(){};}let a={ fun:function(){};}上述在es6是一样的2.方法的name属性函数的name属性,返回函数名。对象方法也是函数,因此也有name属性。.

2020-09-28 09:21:17 283

原创 ES6之set数据结构

set和map数据结构1.set2.map1.set2.map22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222

2020-09-28 09:18:44 182

原创 详解ES6新增的Map数据结构

1.Map含义JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。为了解决这个问题,ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。

2020-09-28 09:18:00 1590

转载 原型和原型对象详解

首先要明白几个概念.1.函数 (function)2.函数对象 (function object)3.本地对象 (native object)4.内置对象 (build-in obejct)5.宿主对象 (host object)函数function foo(){ //函数声明} var foo = function(){ //函数表达式}函数对象函数就是对象,代表函数的对象就是函数对象官方定义, 在Javascript中,每一个函数实际上都是一个函数对

2020-09-08 16:33:21 1912 1

原创 伪类和伪元素你所不知道的区别

一. 伪类CSS 伪类用于向某些选择器添加特殊的效果。常见的伪类有:active : 选择正在被激活的元素(匹配指定状态):hover : 选择被鼠标悬浮着的元素(匹配指定状态):link : 选择未被访问的元素 (匹配指定状态):visited :选择已被访问的元素(匹配指定状态):first-child :选择满足是其父元素的第一个子元素的元素:lang(value) :选择带有指定 lang 属性的元素:focus :选择拥有键盘输入焦点的元素:disable :选择每个

2020-08-28 16:52:42 104

antd.min.js

帮助你完成项目,帮助我获得勋章

2020-05-09

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

TA关注的人

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