自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 git常用命令整理

Git常用操作命令收集:1) 远程仓库相关命令检出仓库:$gitclonegit://github.com/jquery/jquery.git查看远程仓库:$gitremote -v添加远程仓库:$gitremote add [name] [url]删除远程仓库:$gitremote rm [name]修改远程仓库:$gitremote set-url...

2018-04-27 10:37:12 269 1

原创 自己实现一个深拷贝

话不多说,直接上代码 let org = {a: {b: 'b'}, arr: [1,2,3, {s: 's'}]} let res = deepClone(org); function deepClone(obj, hash = new WeakMap()) { if (typeof obj == null) return obj; if (typeof obj !== "object") return obj; if (obj instan

2021-08-06 15:33:56 161

原创 遍历器的基本实现

遍历器想必大家都知道,今天自己实现了一个简单的遍历器,欢迎大家一起交流探讨。基本实现const obj = {0: 'a', 1: 'b',2: 'c', length:3};obj[Symbol.iterator] = function () { let index = 0; return { next: () => { return { value: this[index], done: index++ === this.length } } }}

2021-04-02 15:10:15 208

原创 手写promise原理

整体内容概述实现Promise构造函数 实现Promise.then方法 实现Promise.catch方法 实现Promise.resolve 实现Promise.reject 实现Promise.all方法 实现Promise.race方法1.实现Promise构造函数在实现promise构造函数前,我们先看一下平时我们是怎样定义一个promise的const P = new Promise((res, rej) => { res('ok')})我们可以看

2021-02-19 19:32:15 392 1

原创 为什么行内元素的transform不生效

最近的项目开发中,我给一个span标签添加了一个 transform:rotate(45deg)的样式,但是无论我怎么调试,都不生效啊!(开始怀疑人生了)。偶然间自己加了一个 display:inline-block;竟然生效了!自己完全处于懵的状态。为啥,为啥加个display:inline-block就生效了呢!于是乎开始google。先说结论吧display:block可以让元素成为一个block box;display:inline-block 会生成一个inline-level blo

2020-12-17 19:07:34 3037

转载 require.context

require.context带表达式的 require 语句如果你的 require参数含有表达式(expressions),会创建一个上下文(context),因为在编译时(compile time)并不清楚具体是哪一个模块被导入require("./template/" + name + ".ejs");复制代码webpack 解析 require() 的调用,提取出来如下这些信息:Directory: ./templateRegular expression: /^.

2020-12-16 11:17:56 1201

原创 节流函数与防抖函数

函数节流与函数防抖在日常开发中还是比较常用的。现在总结一下。函数节流每隔一段时间,只执行一次函数。 常见应用场景: 滚动加载、加载更多或滚到底部监听; 谷歌搜索,搜索联想功能; 高频点击提交,表单重复提交等; 实现:定时器实现const throttle = (fn, delay) => { let timer = null; return (...arg) => { if (timer) return; time

2020-12-11 13:58:11 134

原创 encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

在项目中遇到了encodeURI、encodeURIComponent、decodeURI、decodeURIComponent。通过一张图自己做下总结,也和大家进行一下分享。

2020-12-07 17:52:26 101

转载 小程序生命周期与小程序组件生命周期

小程序生命周期   小程序注册完成后,加载页面,触发onLoad方法。 页面载入后触发onShow方法,显示页面。 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次。 当小程序后台运行或跳转到其他页面时,触发onHide方法。 当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。 当使用...

2018-11-07 15:16:35 1781

转载 Vue路由开启keep-alive时的注意点

这个不是业务的要求,但是看到每次进入页面就重新渲染DOM然后再获取数据更新DOM,觉得作为一个前端工程师有必要优化下的加载逻辑,正好vue提供了keep-alive的功能,所以就试用了下。当然,干任何事儿都不会一帆风顺的,在路上的磕磕碰碰在所难免,故在此记录下遇到的问题,希望看到这篇文章的人能有所帮助。ps:这个也没多难。HTML部分:<template> <div...

2018-09-04 18:56:25 721

原创 js中的遍历和跳出遍历

在项目开发过程中,有的时候我们可能需要跳出我们的循环。本人就趟坑经历总结一下趟坑心得。我们常用到的遍历主要有以下几种1.for循环      const testArray = [1, 2, '3', 'test', 5]      for (let i = 0; testArray[i]; i++) {         if (+testArray[i] === 2) {...

2018-08-28 18:15:58 5381

转载 解决Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npmins

在使用npm安装node-sass的时候,可能会出现如下的报错:Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npminstall\node-sass\3.7.0\node-sass\vendor'    at Error (native)    a...

2018-08-27 18:23:52 3029

转载 在vue-router中要使用选中样式的方法有两种:

1、直接在路由js文件中配置linkActiveClass 2、在router-link中写入active-class 问题:如果就这样,那么会出现一个问题,不管跳转到哪里,跳转到根目录的那个连接(to="/")  始终都会有选中样式         为什么会这样呢?查阅文档:https://router.vuejs.org/zh-cn/api/router-l...

2018-08-27 17:32:26 889

转载 axios用post提交的数据格式

post提交数据的四种编码方式1.application/x-www-form-urlencoded 这应该是最常见的post编码方式,一般的表单提交默认以此方式提交。大部分服务器语言对这种方式都有很好的支持。在PHP中,可以用$_POST[“key”]的方式获取到key的值,在node中我们可以使用querystring中间件对参数进行分离app.post("/server",fun...

2018-08-16 16:02:04 557

原创 ajax如何带上cookie

之前都有这样一个理解:ajax请求时是不会自动带上cookie的,要是想让他带上的话,必须哟啊设置withCredential为true。这个说法会让人产生完全扭曲的误解,我就是其中之一。完整的无歧义的表述应该是这样:1.ajax会自动带上同源的cookie,不会带上不同源的cookie2. 可以通过前端设置withCredentials为true, 后端设置Header的方式让ajax自...

2018-08-15 15:34:23 34747 3

原创 js深拷贝

项目中经常会遇到需要深拷贝数据的场景,之前用递归来实现深拷贝 function deepClone(data){ var type = getType(data); var obj; if(type === 'array'){ obj = []; } else if(type === 'object'){ ...

2018-08-13 15:16:02 216

转载 vue2.5/vue-cli3.0版本更新引发的一些常见问题

安装命令调整原:npm install -g vue-clivue init <template-name> <project-name>改为:npm install -g @vue/cli# oryarn global add @vue/clivue create my-projectvue-cli官方仓库命名方式已经改为npm推荐的新的包名规...

2018-07-31 10:18:46 7641 1

转载 nohup 和>/dev/null 2>&1

一、用途:nohup表示永久运行。&表示后台运行在应用Unix/Linux时,我们一般想让某个程序在后台运行,nohup ./start-mysql.sh &该命令的一般形式为:nohup command &在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:nohup command > myout.f...

2018-07-19 17:59:21 560

原创 使用 vue-cli 3 快速创建 Vue 项目及项目配置 Vue.config.js

1.使用npm install -g @vue/cli# oryarn global add @vue/cli查看版本(是否安装成功):vue -V(大写的V) 11576163-5ebc6d418467d0c4.png2.命令变化 Commands: create [options] <app-name> create a ...

2018-07-17 15:35:35 76575 2

转载 深入理解css3弹性盒布局模型

引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的条目进行排列、 对齐和分配空白空间。即便容器中条目的尺寸未知或是动态变化的,弹性盒布局模型也能正常的工作。在该布局模型中,容器会根据布局的需要,调整其中包含的条 目的尺寸和顺序来最好地填充所有可用的空间。当容器的尺寸由于屏幕大小或窗口尺寸发生变化时,其中包含的条目也会被动态地调整。比如当容器尺寸变大时,其 中包含的条目会被拉伸以占满多...

2018-07-06 10:34:15 377

转载 Mac os 常用命令整理

基础概念OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念。比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下。比如接上个叫做“XX”的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢?在终端里执行: “ls /Volumes/XX”, 看看显示出的是不是这个移动硬盘的内容。  驱动所在位置:    /Systme/Li...

2018-06-27 15:25:45 562

转载 Mac系统快捷键一览

Mac中主要有四个修饰键,分别是Command,Control,Option和Shift。这四个键分别有自己的图案,他们经常出现在Mac应用程序中的菜单栏里,方便你随时学习新的快捷键。MAC 键盘快捷键符号图例通用Command是Mac里最重要的修饰键,在大多数情况下相当于Windows下的Ctrl。所以以下最基本操作很好理解:Command + Z 撤销Command + X 剪切Command...

2018-05-30 13:40:35 360 1

转载 Linux常用命令整理

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info...

2018-05-09 11:07:05 180

空空如也

空空如也

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

TA关注的人

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