- 博客(138)
- 收藏
- 关注
原创 随便记录点css
好像没写东西了,随便记录一下,顺便希望海康威视不要被 sdn ,股票大涨:1. 溢出的高度如果是 unset visible,会影响祖元素会被撑出滚动条,但是不会影响文档流。其实也有道理,毕竟如果祖级元素不出滚动条,怎么能保证 visible 呢2. 关于 offsetTopHTMLElement.offsetTop为只读属性,它返回当前元素相对于其offsetParent元素的顶部内边距的距离。HTMLElement.offsetParent是一个只读属性,返回一...
2022-05-11 17:14:58 285
原创 Nuxt3 中 useFetch、useLazyFetch 的区别
* useFetch 和 useLazyFetch 的区别:* 1. 在服务端渲染的时候,这两个没差别* 2. 在客户端渲染的时候(单页),useLazyFetch 相当于请求是数据是 suspense 的* 而 useLazyFetch 一定要全部请求完毕,才进行路由内容的显示。* 看起来 useLazyFetch 的使用场景会更多一些,除非一些特殊的场景** useAsyncData 和 useAsyncLazyData 的区别和 fetch 一样* 只是 useAsyncD
2022-01-26 19:20:28 3988
原创 驼峰转横杠
/*** Hyphenate a camelCase string.* 这个方法存一下,驼峰转横杠风格*/var hyphenateRE = /([^-])([A-Z])/g;var hyphenate = function (str) {return str.replace(hyphenateRE, "$1-$2").replace(hyphenateRE, "$1-$2").toLowerCase();}...
2021-10-12 17:00:33 362
原创 Attribute 和 Property 的区别
Property 是挂在一个 DOM 节点下,可供 'domNode.某属性'、'domNode["某属性"]' 这种 js 原生getter 访问器,直接访问的属性的集合。可以通过 for in loop 枚举出来:上文可以看出,默认一个 dom 上挂载了很多Property,这些值可能是你没有设置过的,上文的例子中,这个 input 的 DOM 结构是很简单的:<input id="input" value="123" />只有 value 和 id,额外挂载的属性..
2021-10-12 15:48:37 190
原创 async 函数的返回值
由于一直记录在印象笔记里,好久好久没更新博客了。。。async 函数的返回值是一个在 pending 状态的 Promisevar asyncReturn = async () => { await promiseFn() return 111}var c = asyncReturn()console.log(c instanceof Promise) // trueasync 如果被 await 住,他的返回值会被复制给变量,这种情况是不会要 catch 的
2021-08-26 13:56:57 5966
原创 asnc 函数部分返回仍然走then
asyncfunctionasync1 (){console.log('async1 start');awaitasync2().then(err => {console.log(123123123, err) });// console.log('async1 end')}asyncfunctionasync2 (){console.log('async2')}async1()正常现象记录...
2021-02-22 18:31:01 206
原创 error: Parsing error: “parserOptions.project“ has been set for @typescript-eslint/parser
因为一直在用印象笔记,好久没更新这个博客了。这边记录今天遇到的一个问题:error: Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser这个问题产生的原因是:有两个相同的文件,在一个目录下,ts 解析会问题,我这边的目录结构是:然后 index.d.ts 里面就会 eslint 报错。换个名字就好了,具体error详见:https://github.com/typescri
2021-02-16 13:25:55 11154
转载 ts中递归,把所有属性变为可选
type DeepPartial<T> = T extends Function ? T : T extends object ? { [P in keyof T]?: DeepPartial<T[P]> } : T;type PartialedWindow = DeepPartial<Window>; // 现在window 上所有属性都变成了可选啦
2020-10-27 19:26:02 3743
原创 gulp 管道中删除
var gulp = require('gulp'); var stripDebug = require('gulp-strip-debug'); // 仅用于本例做演示 var del = require('del'); var vinylPaths = require('vinyl-paths'); gulp.task('clean:tmp', function () { return gul...
2019-07-20 14:21:38 626
原创 child_process exec不执行回调
真正的原因是child_process.exec 的timeout 默认是 0,这样回调永远不会走。这段代码能解决// exec('tsc --ignore-error', { timeout: 1000 }, (error, stdout, stderr) => {// console.log(chalk.blue('****************** build-ts ...
2019-07-19 19:17:22 2977
转载 安装和开启 魔改bbr
bash bbr.sh startwget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh installbash bbr.sh start安装和开启 魔改bbr...
2019-06-07 22:24:41 2570
转载 Nginx命令
nginx -s reload :修改配置后重新加载生效nginx -s reopen :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确关闭nginx:nginx -s stop :快速停止nginx quit :完整有序的停止nginx其他的停止nginx 方式:ps -ef | grep n...
2019-06-07 21:03:34 398
转载 Mac ssh使用pem文件登录远程服务器
登录远程服务器我们可以使用ssh命令,部分远程服务器访问需要授权,ssh命令支持使用pem文件进行授权访问。命令如下:ssh -i identity_file user@hostname1例如:ssh -i key.pem root@192.168.2.1001如果执行后出现以下错误,表示pem文件的权限太大,需要设置为只有拥有者读写权限(600)。Permissions ...
2019-06-06 20:51:45 1339
转载 驼峰和下划线转化
// 下划线转换驼峰function toHump(name) { return name.replace(/\_(\w)/g, function(all, letter){ return letter.toUpperCase(); });}// 驼峰转换下划线function toLine(name) { return name.replace(/([...
2019-05-12 17:36:01 654
转载 关于动态构造函数的摘抄
这里解释为什么 if 语句的意思**********略,比较简单// **********************************************************************下面解释了为什么不能用字面量假设有一个构造函数:function CO(){ this.p = “I’m in constructed object”...
2019-04-26 22:41:07 293
原创 数组的坐标匹配a-z
String.fromCharCode(98 + index),从98开始 对应 a99 => b100 => c
2019-02-20 11:07:38 233
转载 仅用一行生成`[0, 1, ..., N-1]`数列
By @SarjuHansaliya on Feb 2, 2016使用下面一行代码,我们就可以生成0…(N-1)数列。方法1 (需要 ES5)Array.apply(null, {length: N}).map(Function.call, Number);简要说明Array.apply(null, {length: N}) 返回一个由undefined填充的长度为N的数组...
2019-02-20 10:56:58 286
转载 检测图片是否被加载,完毕
// Nice job$('#app img').one('load', function() {const height = $(this).height();const width = $(this).width();$(this).css({height: height / 100 + 'rem',width: width / 100 + 'rem',});}...
2018-11-15 11:22:01 528
转载 你真的了解word-wrap和word-break的区别吗?
这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:break-all;这样的东西来强制断句,又或者是因为这两个东西实在是太拗口了,长得又差不多,导致连背都很难背下来。那它们到底是什么呢?我在mozilla的官网上找到如下的解释:word-wrapword-break我们看到两个解释中都出现了 b...
2018-09-10 13:44:14 11351 2
原创 webpack-dev-server 中 hot 和 hotonly 的差别
hot 和 hotOnly 的区别是在某些模块不支持热更新的情况下,前者会自动刷新页面,后者不会刷新页面,而是在控制台输出热更新失败
2018-09-07 17:10:23 13735
转载 千位符方法
这篇文章主要介绍了JS实现的4种数字千位符格式化方法分享,本文给出了4种千分位格式化方法并对它们的性能做了比较,需要的朋友可以参考下所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,我起初写了这样一个函数:复制代码代码如下:// 方法一function toThousands(num) { var result = [ ], co...
2018-08-29 11:35:47 1224
转载 history.go()和history.back()的用法与区别
Javascript:history.go()和history.back()的用法与区别简单的说就是:go(-1):返回上一页,原页面表单中的内容会丢失;back():返回上一页,原页表表单中的内容会保留。 history.go(-1):后退+刷新history.back():后退 之所以注意到这个区别,是因为不同的浏览器后退行为也是有区别的,而区别就跟javascript...
2018-08-25 10:46:39 523
转载 不错的交换数组位置方法
let arr = [1, 2, 3, 4, 5]// 交换第三个和第四个元素// x < ylet x = 3, y = 4arr.splice(x - 1, 1, ...arr.splice(y - 1, 1, arr[x - 1]))console.log(arr) /// [1,2,4,3,5]
2018-07-17 17:26:36 3271
转载 git 根据tag创建分支
在项目中我们需要根据tag创建分支.现将创建步骤总结一下.假设在你的主分支上有一个tag为v1.0,主分支的名字为master.1.执行:git origin fetch 获得最新.2.通过:git branch <new-branch-name> <tag-name> 会根据tag创建新的分支.例如:git branch newbranch v1.0 . 会以tag v1...
2018-06-21 13:54:16 3960 3
原创 记录,待解决
记录,待解决1. 发现vuex托管的对象,在初始化的时候一定先组织好自己的数据结构。无视 vue 的生命周期。2. 发现,vuex托管后的对象,尽管是import载入的,他也变成了同一个内存。3. 普通 import 到时是引用还是复制?...
2018-06-05 16:37:09 170
转载 ES6 + Webpack + React + Babel 如何在低版本浏览器上愉快的玩耍(下)
回顾起因某天,某测试说:“这个页面在 IE8 下白屏,9也白。。”某前端开发: 吭哧吭哧。。。一上午的时间就过去了,搞定了。第二天,某测试说:“IE 又白了。。”某前端开发: 嘿咻嘿咻。。。谁用的 Object.assign,出来我保证削不屎你。在上篇,我们主要抛出了两个问题,并给出了第一个问题的解决方案。 1. SCRIPT5007: 无法获取属性 xxx 的值,对象为 null 或未定义,这种...
2018-04-08 13:37:11 345
转载 ES6之Babel的各种坑总结
自从 Babel 由版本5升级到版本6后,在安装和使用方式上与之前大相径庭,于是写了这篇入坑须知,以免被新版本所坑。坑一:本地安装和全局安装 全局安装只需:$ npm install –global babel-cli 这时候我们可以使用 Babel 命令编译文件:$ babel index.js --out-file compiled.js#或$ babel index.js...
2018-04-04 16:32:41 1671
转载 git stash 记录
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。 基础命令: gitstashgitstashgit stash do some work $git stash pop进阶...
2018-03-22 17:15:37 1606
原创 git 记录2
有两种方式来使用git resetgit reset HEAD~yourNumber 传入基于当前HEAD要回退的版本次数git reset yourCommitId 传入要回退到的指定版本号 git reset有三种模式默认mixed模式,这种模式下回退之后,工作区还保持不变,缓存区没有内容,提交区指向了你要回退到的地方。也就是说,确实回退了,但是内容是现在...
2018-03-07 17:21:29 175
原创 git 记录
两个末次相同 commitID 相互切换分支的时候是不会有问题的。修改会被继承到被切换的分支上去。git checkout -- yourFilePath 可以撤销工作区(未提交)中指定文件的修改git checkout . 则是丢掉所有工作区的修改,当然通配符*效果也是一样的如果已经从工作区进入了缓存区,则可以通过git reset HEAD yourFilePath来把修改从缓存区丢到...
2018-03-07 11:53:19 173
转载 git 丢弃未跟踪的本地修改
# 删除 untracked filesgit clean -f# 连 untracked 的目录也一起删掉git clean -fd# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)git clean -xfd# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重...
2018-03-06 17:01:22 4895 1
转载 git 撤销分支删除 操作 (git delete branch undo)
这个分两种情况第一种你已经退出 terminal git reflog 查看你上一次 commit SHA1值git branch branchName 1 就可以根据 你的SHA1值,创建一个分支,这个commit 你可以选择删除分支操作的 commit SHA1第二种情况 没有退出terminal user@MY-PC /C/MyRepo (master) $ git ...
2018-03-06 16:53:48 4288
原创 关于git checkout 的记录
首先是分支的创建和切换git branch '新建的分支名字' // 分支名要唯一git checkout '已经存在的分支名字' // 必须是存在的git checkout -b '分支名字' -b // 创建分支并且进入,分支要唯一,加上这个参数,checkout 就充当了创建分支的作用 显示分支的状态/** 显示最后一次提交的 commit id 和 ...
2018-03-06 16:24:03 4920
原创 CommonsChunkPlugin详解
在不指定的情况下,要提取的公共模块需要在入口文件里显式声明。// main.jsimport Vue from 'vue'import App from './App.vue'import _ from "underscore";new Vue({ el: '#app', render: h => h(App)})// main2.jsimport _...
2018-02-25 14:34:11 1924
转载 closure
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全
2018-01-17 13:36:08 308
转载 new Date().getTime()
JavaScript中可以在某个元素前使用 ‘+’ 号,这个操作是将该元素转换Number类型,如果转换失败,那么将得到 NaN。所以 +new Date 将会调用 Date.prototype 上的 valueOf 方法,而根据 MDN ,Date.prototype.value 方法等同于 Date.prototype.getTime() 。所以下列代码效果相同:
2018-01-17 09:50:00 4059
转载 函数节流和防抖
一、前言 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃。 1. window对象的resize、scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mousedown、keydown事件 4. 文字输入、
2018-01-16 17:38:38 244
转载 模块循环引用
"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。// a.jsvar b = require('b');// b.jsvar a = require('a');通常,"循环加载"表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。但是实际上,这是很难避
2018-01-16 16:58:13 397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人