自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (3)
  • 收藏
  • 关注

原创 数组-前缀和数组

前缀和数组

2022-07-13 18:20:24 860 3

原创 数组题-双指针技巧

数组没有真正意义上的指针,可以把索引当作指针。leetcode:83. 删除排序链表中的重复元素 leetcode:27. 移除元素 leetcode:283. 移动零左右指针: leetcode:167. 两数之和 II - 输入有序数组 leetcode:344. 反转字符串leetcode:5. 最长回文子串...

2022-07-11 19:46:54 446

原创 链表-判断回文链表

判断回文链表/回文字符串

2022-07-08 15:58:00 515

原创 链表-反转链表

反转链表

2022-07-08 11:35:47 256

原创 链表题--使用双指针技巧汇总

双指针技巧解决链表题汇总 leetcode:23. 合并K个升序链表 (常考) 剑指 Offer 22. 链表中倒数第k个节点 leetcode:19. 删除链表的倒数第 N 个结点 leetcode:876. 链表的中间结点 leetcode:142. 环形链表 II leetcode:160. 相交链表...

2022-07-07 17:35:31 341

原创 数组:剑指 Offer 03. 数组中重复的数字

数组:剑指 Offer 03. 数组中重复的数字

2022-07-05 16:38:15 64

原创 数组:leetcode27:移除元素

leetcode27:移除元素

2022-07-04 19:24:12 212

原创 二叉树前序/中序/后序/层序遍历

二叉树前序/中序/后序/层序遍历

2022-07-01 16:58:43 64

原创 将列表还原为树状结构

JavaScript:将列表还原为树状结构

2022-07-01 11:36:07 632

原创 算法-求次数问题汇总

只出现一次的数字

2022-06-30 16:47:04 195

原创 算法-求和(两数/三数/四数之和)问题

两数之和、三数之和、四数之和

2022-06-30 11:57:29 301

原创 实现数组扁平化的几种方式

flat() 默认拉平一层嵌套数组

2022-06-29 15:35:48 122

原创 setTimeout和setInterval相互实现

setInterval在执行完一次代码之后, 经过了那个固定的时间间隔, 它还会自动重复执行代码, 而setTimeout只执行一次那段代码。带清除定时器版本3、利用setInterval实现setTimeout4、扩展思考:为什么要用 setTimeout 模拟实现 setInterval?setInterval 的缺陷是什么?这里只做粗略回答:定时器指定的时间间隔,表示的是何时将定时器的代码添加到消息队列,而不是何时执行代码。所以真正何时执行代码的时间是不能保证的,取决于何时被

2022-06-29 15:07:05 722

原创 Javascript - Promise的实现过程

一、认识PromisePromise是一个类,可以翻译成 承诺、许诺 、期约当我们需要给予调用者一个承诺:待会儿我会给你回调数据时,就可以创建一个Promise的对象二、Promise的状态 待定(pending) 完成(fulfilled) 拒绝(rejected) 一旦状态被确定下来,Promise的状态会被 锁死,该Promise的状态是不可更改的三、其他promise的API建议自己查询文档,本文只注重功能的实现四、代码实现步骤:1、代码结构的...

2021-12-16 16:39:29 1142

原创 Javascript-实现全局事件总线Event Bus/ Event Emitter

自定义事件总线

2021-12-15 15:24:14 1668

原创 JavaScript-深拷贝函数的实现

1、常见的一种实现方式const info = JSON.parse(JSON.stringify(obj))2、简单实现 deepClone//工具函数function isObject(value) { const type = typeof value return (value !== null) && (type === 'object' || type === 'function')}function deepClone(originVal

2021-12-15 11:49:25 1286

原创 JavaScript-节流函数的实现

1、对节流函数该怎么理解日常小案例:老师在上完课后给大家【五分钟】询问大家有没有什么问题要问但是在【五分钟】之内,不管有多少同学 来问问题,都只会【解答一个问题】如果在解答一个问题后,5分钟过后还没有同学问问题,那么就下课所以用三句话理解就是:当事件触发时,会触发这个事件的响应函数 当事件密集触发时,节流函数会按照一定的频率来执行函数 不管在这个中间有多少次触发这个事件,执行函数的频率总是固定的2、拙劣的图解3、 节流的应用场景监听页面的滚动事件 鼠标的移动事件

2021-12-14 18:06:54 2673 1

原创 JavaScript-防抖函数的实现

1、对防抖函数该怎么理解日常小案例:老师在上完课后给大家【五分钟】询问大家有没有什么问题要问如果在【五分钟】时间内,没有问题要问,那么就下课了(相当于执行事件了)如果在此期间,小非来问 问题,并且帮她解答了,解答完后,会再等【五分钟】看看还有没有别的同学问问题如果在此期间,小凡来问 问题,并且帮她解答了,解答完后,会再等【五分钟】看看还有没有别的同学问问题如果我等待超过了5分钟,那么就下课了(相当于执行事件了)所以用三句话理解就是:当事件触发时,相应的函数并不会立即触发,而是

2021-12-14 15:48:24 389

原创 JavaScript-简单封装Storage工具类

class MyCache { constructor(isLocal = true) { this.storage = isLocal ? localStorage: sessionStorage } setItem(key, value) { if (value) { this.storage.setItem(key, JSON.stringify(value)) } } getItem(key) { let value = this.

2021-12-13 20:13:14 352

原创 函数柯里化

1、对柯里化的理解只传递给函数一部分参数来调用它,让它返回一个函数去处理剩余的参数的过程2、柯里化的结构//1、普通函数function add(x, y, z) { return x + y + z}var result = add(10, 20, 30)//2、函数柯里化function sum1(x) { return function(y) { return function(z) { return x + y + z } }}

2021-12-13 16:14:12 195

原创 [].slice.call(arguments)将arguments转成array

常见的一种将arguments转成array的方式:[].slice.call(arguments)//提高性能,减少一层对原型链的追溯Array.prototype.slice.call(arguments)这段代码的意思是能够将具有length属性的arguments转换为数组在这里先手动实现一下Array中的slice方法Array.prototype.mySlice = function (start, end) { let arr = this sta

2021-12-13 15:05:21 288

原创 JavaScript-bind函数的简单实现

bind()方法创建一个新的函数,在bind()被调用时,这个新函数的this被指定为bind()的第一个参数,而其余参数将作为新函数的参数,供调用时使用。Function.prototype.myBind = function (thisArg, ...argsArray) { //第一步,对thisArg处理,以防传进来的不是对象,基本类型的数据会转为包装对象,null和undefined会指向window thisArg = thisArg ? Object(thi...

2021-12-13 14:27:19 94

原创 JavaScript-apply函数的简单实现

注意:call和apply的区别就是传参数的方式不一样sum.call("call", 20, 30, 40)sum.apply("apply", [20, 30, 40])Function.prototype.myApply = function (thisArg, argArray) { //第一步,对thisArg处理,以防传进来的不是对象,基本类型的数据会转为包装对象,null和undefined会指向window thisArg = thisArg ? Object.

2021-12-13 11:43:15 275

原创 JavaScript-call函数的简单实现

Function.prototype.myCall = function (thisArg,...args) { //第一步,对thisArg处理,以防传进来的不是对象,基本类型的数据会转为包装对象,null和undefined会指向window thisArg = thisArg ? Object(thisArg) : window //第二步,调用绑定的函数,这里的this就是这个函数 thisArg.fn = this //第三步,将调用函数的结果返回出去 .

2021-12-13 11:32:18 568

原创 数组去重方法

利用 集合 来简化实现数组去重let arr = [ 1, 1, 1, 2, 2, 3, 3, 3 ];let _set = {}let _newArr = []//可以减少赋值行为arr.forEach( v => _set[ v ] || ( _set[ v ] = true, _newarr.push( v ) ) )

2021-11-23 14:26:23 43

原创 不使用 JSON.stringify 实现将对象转换为 JSON 格式的字符串

此文只考虑 :基本类型, 数组, 和 Object 类型.一、构造函数处理数据class ToJSONString extends String { toString() { return `"${ this.valueOf() }"`; }}class ToJSONObject extends Object { type() { return 'ToJSONObject'; } toString() {

2021-11-23 11:58:58 552 2

原创 常用工具函数收集

1、获取两个日期之间所有的日期 getAllDate (start, end) { var dateRange = new Array(); var i=0; //开始日期小于等于结束日期,并循环 while(start<=end){ dateRange[i] = start; //获取开始日期时间戳 var start_ts = new Date(start).getTime();

2021-06-28 16:17:14 63 1

原创 解决微信小程序录制视频存在的问题

此篇文章主要针对微信小程序如下两个api :CameraContext.startRecord(Object object) CameraContext.stopRecord(Object object)使用场景:当我在开发一个小程序,它的需求是需要用户拍摄视频来上传,但是产品经理要求相机上需要有文字提示,所以就不能用原生的wx.chooseVideo,于是乎选择小程序提供的camera组件,可以通过<cover-view>提示文字</cover-view>来实...

2021-03-26 17:48:10 3414 2

原创 小程序踩坑之地图定位不精准的问题

最近做了一个小程序,需要获取用户的地理位置,用户授权后将地理位置逆解析后带到下一个页面上进行展示。但逆解析出来的结果与实际位置大概差了600m左右,一开始查了很多资料,都以为是经纬度获取就不精准,导致了后面的逆解析出现了问题,真的是抠破头的想解决办法,最后疲惫的时候无心扫过地图文档才找到了解决办法,分享出来给大家,愿2021大家头发健在~~~1、关于获取用户授权得到地理位置的代码: <view bindtap="scanCode"> 点击按钮 </view&...

2021-01-20 22:28:20 2984 6

原创 Koa的上层框架egg.js 简单入门

最近学完了技术胖的采用 React + egg.js 搭建的博客系统,受益颇深,想整理一下学习笔记,梳理一下 ,技术胖的课程链接https://www.jspang.com/detailed?id=52#toc241一、egg.js的简单介绍egg.js是由阿里开源的面向企业级开发的Node.js服务端框架,目的就是帮助团队和开发人员降低开发和维护成本。需要说的是他的底层是Koa2来搭...

2020-01-13 16:44:23 919

原创 React16的简单上手之路

小伙伴想学习的可以参考技术胖的教程哦,这是我最喜欢的前端大佬,地址http://www.jspang.com/posts/2019/05/04/new-react-base.html#1、安装安装脚手架:npm install -g create-react-app创建项目:create-react-app demo01 //用脚手架创建React项目运行:...

2019-11-26 15:57:13 316 2

原创 小程序开发常见需求

    最近有独立开发了一个粉丝经济类的小程序,由于产品和后台对小程序都陌生,以及自己开发经验的欠缺,所以总结一下自己开发过程中所遇到的问题以及踩到的坑。第一个:关于openid的问题---前端让后台传,不要自己获取首先很感谢这个作者,在我产品上线后立即给了我思路让我定位到了我到问题,非常感谢。  由于是第一次获取这个openid,在查看了文档和各位大佬的博客后,我就开写了,自己在...

2018-12-11 14:11:58 6272 14

原创 微信小程序使用wxParse解析html

   由于开发采用的是为wepy框架,写法和web开发不一样,在有富文本的时候就无法解析像div,p,br等标签,在看了一些博客自己稍微梳理了一些用法首先是wxparse的包,下载地址第一步:把这个包解压放到src目录下面,如图:第二步:在你需要使用的页面开始引入2.1: 样式部分引入2.2:页面结构部分: &lt;view class="info"&gt;&...

2018-12-05 14:44:38 380

原创 挑战全栈Koa2

前端时间有跟着技术胖学了一下Koa2,相比于express是真的很简洁了,我很喜欢,这是一些笔记截图,大家如果对这个感兴趣,可以去听一听技术胖(百度搜索技术胖就可以了)的视频,个人觉得讲的很详细,很好理解。笔记是听课的时候截的图,有什么不清楚的地方大家可以一起交流哈~一、目录二、开发环境搭建    要求Node.js版本高于V7.6  node -v二、async/...

2018-11-21 10:06:43 450 1

原创 React Native 项目的搭建

     在上一篇博客中我有和大家分享项目环境的配置,今天会给大家分享一下如何搭建一个项目,并让它在夜神模拟器中成功跑起来,分享的比较直接,只要按命令来,项目是可以跑起来的哦,希望初学者可以认真按照步骤来搭建项目~~~ 1. 全局安装react-native的脚手架 npm install -g yarn react-native-cli 2. 使用脚手架初始化react-na...

2018-09-14 17:48:56 370

原创 Reactive Native 开发环境配置

    在失踪很久后,我又肥来了~~~    最近一直在很痛苦的踩坑Reactive Native,在终于觉得自己好像七窍通了六窍之后,给大家分享一下我学习的心路历程,以及一些需要注意的事项,以及最后会弄一个demo跟大家分享,啊哈哈哈哈哈哈...       今天分享的是  Reactive Native 开发环境配置 Java8的安装及环境变量配置1、安装  ...

2018-09-14 17:38:12 1663 6

原创 关于vue常问的面试题

1、用vue做的项目,用了vue的全家桶吗?vue里面为什么不用jq?vue+vue-router+vuex+axios+es6+sass减少dom操作 2、vue如何进行性能优化?怎么做vue的兼容?1. 慎用deep watch2. 尽可能的减少watcher的数量  在上面16000个素材的情况,vue至少会创建16000个watcher,实际情况下会多得多,...

2018-08-04 14:32:46 12111

原创 使用Webpack+Babel打包Vue项目

使用Webpack+Babel打包Vue项目 步骤:安装babel相关的包npm install babel-core babel-loader babel-preset-env –save-dev  2.在项目根目录下创建一个babel的配置文件.babelrc  3.在.babelrc中配置写好对应的json代码片段代码片段{4.在webp...

2018-08-01 20:59:56 2838 5

原创 Webpack+Vue构建项目步骤

第一步:单纯的搭建出来我们的项目,并且通过webpack打包一个bundle.js然后运行起来步骤:1、建立项目必要的文件和文件夹(见截图)2、配置webpack.develop.config.js,指定入口,输出文件3、在main.js中写代码,App.vue中写代码 4、让我们的项目能运行App.vue 5、打包运行我们的项目...

2018-07-20 18:42:23 3141 4

原创 一个简单的函数封装--缓动动画

作为一个前端攻城狮,如果能够独立封装库的话,也说明在前端上有了一定的造诣了~~~~不过我是菜鸟,只能从小工具开始封装起来,偶然看到一个动画,就想起来了,封装一下,玩一玩这个缓动动画.个人觉得如果只是需要用到部分功能的话,自己封装比引入一个巨大的库要好的多,废话不多说~&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head lang="en"&gt; ...

2018-07-19 08:25:26 631

CSS基础知识超全整理

整理好的一份关于css的知识大纲,希望能够帮助到大家,可以用来复习回顾

2018-07-04

如何规范css的命名和书写

作为前端的开发人员,对于CSS的接触,就像吃饭一样,css对于现在网页很重要,要不怎么经常有人说用css来制作网页呢,理所当然,CSS命名规范也十分重要,规范它的命名有利于代码的语义和团队开发。

2018-06-11

前端开发小游戏

一个前端开发新手练手小游戏,js和jQuery我的运用,以及简单移动框架的使用,通过注册点击事件来实现的一个点水果的小游戏

2018-06-10

空空如也

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

TA关注的人

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