自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装nvm 和node 的那些事

安装nvm 和node 的那些事

2022-08-02 16:14:32 245 1

转载 mac 快速安装brew

mac 快速安装brew

2022-08-02 15:08:46 290

转载 position: sticky

position: sticky

2022-07-22 11:07:35 217

原创 mac如何在item2中展示git分支

item 展示git分支

2022-06-25 15:42:45 981 2

原创 promise.resolve

console.log("test")let p1 = Promise.resolve(Promise.resolve("thenanlbe"));p1.then(function(value) { console.log(value); })Promise.resolve(232).then(()=>{ console.log("3")}).then(()=>{ console.log("4")}).then(()=>{ console.log.

2022-05-02 17:12:11 1954

原创 【无标题】

const p1 = new Promise(( resolve)=>{ setTimeout(()=>{ resolve("resolve3") console.log("timer") }, 0) resolve("resolve1") resolve("resolve2")}).then((res)=>{ console.log( res); setTimeout(()=>{ c.

2022-05-01 02:27:26 82

原创 要常常反复看的点

1,浏览器的事件循环很早的时候看过一些,当时做了一些题,也都做对了,后面才发现,随着时间的流逝,自己对他的掌握已经变了。我犯的错误是,以为同步执行完成以后,执行异步的时候,将宏任务和微任务的队列排好后,以为宏任务和微任务是间隔执行的,好吧,这次又重温了以后,我才知道,原来是同步执行后,一直执行微任务的队列,直到微任务队列执行完毕,才开始执行宏任务https://segmentfault.com/a/1190000022805523https://segmentfault.com/a/119000

2022-02-19 19:54:05 393

原创 二叉树的中序遍历

function maxDepth(root){ root = { value: 1, left: { value: 2, left: { value: 4 } }, right: { value: 3, left: { value: 5, left: { ..

2021-11-22 10:47:31 190

转载 js for循环setTimeout

80% 应聘者都不及格的 JS 面试题 - 掘金共 5024 字,读完需 6 分钟,速读需 2 分钟,本文首发于知乎专栏前端周刊。写在前面,笔者在做面试官这 2 年多的时间内,面试了数百个前端工程师,惊讶的发现,超过 80% 的候选人对下面这道题的回答情况连及格都达不到。这究竟是怎样神奇的一道面试题?他考察了候选人的哪些能力…https://juejin.cn/post/6844903470466629640...

2021-11-13 18:44:32 419

转载 手写promise

面试官:“你能手写一个 Promise 吗” - 掘金关于手写 Promise,想必大家都十分熟悉。基本上现在不管是大厂还是小厂,手写 promise 已经成为了面试必考知识点。听说你还不太会?那么走着,带你从零开始解锁 Promise! 在 Promise 出现以前,在我们处理多个异步请求嵌套时,代码往往是这样的。。。 为了拿到…https://juejin.cn/post/6850037281206566919#heading-5...

2021-11-12 15:20:56 69

转载 promise的规范

图灵社区图灵社区成立于2005年6月,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。https://www.ituring.com.cn/article/66566...

2021-11-12 15:18:44 93

原创 js知识点的深入了解

事件循环:微任务和宏任务https://zh.javascript.info/event-loop

2021-11-09 11:05:46 502

转载 函数柯里化

掘金https://juejin.cn/post/6844904177697554439

2021-11-08 18:33:58 39

原创 this指向问题

var adder = { base : 1, add : function(a) { console.log(this) var f = v => v + this.base; return f(a); }, addThruCall: function(a) { var f = v => v + this.base; var b = { base : 2 }; return f.call(b, a);...

2021-11-01 09:40:00 84

原创 js中array的toString 和valueOf

const arr = [];const testObj = {};console.log(arr === "");console.log(arr == "");arr.toString = () => 1;console.log(arr === 1);console.log(arr == 1);arr.valueOf = () => 2;console.log(arr == 2);arr.valueOf = () => testObj;console.log(arr.

2021-10-12 20:24:54 246

原创 浏览器的存储

cookie,对于设置的域名,他的子域名,也会被携带cookiedocument.cookiename1=value1;name2=value2;name3=value3所有名和值都是 URL 编码的,因此必须使用 decodeURIComponent()解码。在设置值时,可以通过 document.cookie 属性设置新的 cookie 字符串。这个字符串在被解析后会 添加到原有 cookie 中。设置 document.cookie 不会覆盖之前存在的任何 cookie,除非设置了已有的..

2021-10-12 20:12:06 178

转载 HTTP fetch发送2次请求的原因

HTTP fetch发送2次请求的原因?面对这道出现频率较高的面试题,我想说的是:发送两次请求的情况确实存在,但这与你所使用的是不是http协议,所采用的是不是fetch真的没有一毛钱关系! 接下来,咱们可以通过代码一一去验证……一、准备工作1、创建一个文件夹zhangpeiyue2、在zhangpeiyue文件夹内创建两个文件:server.js与index.html•server.js:搭建一个express服务器,用于提供接口•index.html:通过fetch调用接口。.

2021-10-12 11:44:36 1297

原创 取消请求 的例子

test = (flag) => { class CancelToken { constructor(cancelFn) { this.promise = new Promise((resolve, reject) => { cancelFn(() => { setTimeout(console.log, 0, "delay cancelled"); resolve(..

2021-10-12 10:24:59 86

原创 xhr的知识点

get请求 get请求的查询字符串必须使用encordURIComponent编码post提交 默认情况下,对服务器而言,表单提交和post提交是不一样的,使用xhr模拟表单提交,第一步,将content-type头部设置 为application/x-www-formurlencoded。第二步,注意: POST请求相比GET请求要占用更多资源。从性能方面说,发送相同数量的数据, GET 请求比 POST 请求要快两倍。XMLHttpRequest Level...

2021-10-12 10:23:27 629

原创 promise, 浏览器错误

async function foo() { let p = new Promise((resolve, reject) => setTimeout(resolve, 1000, 3)); console.log(await p);}foo(); // 3之所以foo()的值为3,那是因为await 会把promise解包,p是一个已经resolve的的promise,await又将这个promise 进行了解包,所以,console.log(await p)的值是3...

2021-10-08 15:27:29 123

原创 promise ,浏览器错误

async function foo() { let p = new Promise((resolve, reject) => setTimeout(resolve, 1000, 3)); console.log(await p);}foo(); // 3之所以foo()的值为3,那是因为await 会把promise解包,p是一个已经resolve的的promise,await又将这个promise 进行了解包,所以,console.log(await p)的值是3...

2021-10-08 15:25:58 208

原创 Promise ,async, await 的执行顺序

第一个版本async function async1() { console.log('async1 start'); await async2(); console.log('async1 end');}async function async2() { console.log('async2');}console.log('script start');setTimeout(function() { console.log('setTimeo.

2021-09-16 17:26:57 484

原创 事件流和 export

1,理解事件流 事件流可以理解为事件发生的时候,触发其他事件的情况,有两种情况,一种是事件冒泡,一种是事件捕获,事件冒泡是指,从具体的元素出发,向上传播至没有那么具体的元素(文档)。<!DOCTYPE html><html><head> <title>Event Bubbling Example</title></head><body> <div id="myDiv">Cl...

2021-09-13 16:15:13 59

原创 稀疏数组和密集数组 之间的相互转换

稀疏对象: 元素个数和数组长度不匹配密集数组,元素个数和数组长度一样稀疏数组=》密集数组var arr = new Array(5); // 稀疏数组 // ES5 Array.apply(null, arr); // ES6 Array.form(arr); [...arr];密集数组转稀疏数组var arr = [1,3,4,5,6]; // 密集数组 arr.length = 10 // [1, 3, 4, 5, 6, empty × 5]..

2021-09-12 17:06:52 170

原创 红皮书 Object

​需要反复看的ECMAScript 6 专门为合并对象提供了 Object.assign()方法。这个方法接收一个目标对象和一个 1 或多个源对象作为参数,然后将每个源对象中可枚举(Object.propertyIsEnumerable()返回 true) 和自有(Object.hasOwnProperty()返回 true)属性复制到目标对象。以字符串和符号为键的属性 会被复制。对每个符合条件的属性,这个方法会使用源对象上的[[Get]]取得属性的值,然后使用目标 对象上的[[Set]]设置属性的值

2021-09-11 16:49:39 81

原创 async

async 函数的返回值是一个promise,async 里面的await 会暂停掉整个async函数的执行过程,直到await等待的基于Promise的异步操作被resolve 或者reject,async函数的执行才会继续开始。所以要是想在async里面实现等待的效果的时候,需要让await的函数返回一个已解决的promise的值...

2021-09-09 14:54:15 74

原创 promise

promise.reject 会生成一个拒绝的promise,并且抛出一个异常,但是这个异常并不能被try catch捕获,只能被then的拒绝处理程序来捕获。之所以不能被try catch捕获,是因为promise.reject是一个异步程序,而try catch是一个异步程序。promise的实例的方法 then方法:then方法主要接收两个参数,第一个参数在promise的状态进入resolved的时候执行,第二个参数在promise的状态进入reject的时候进行。传递给the...

2021-09-08 16:14:38 439

原创 10 函数

反复观看 1, call 和apply 的区别这两个方法都会以指定的 this 值来调用函数,即会设 置调用函数时函数体内 this 对象的值。apply()方法接收两个参数:函数内 this 的值和一个参数数 组。第二个参 数可以是 Array 的实例,但也可以是 arguments 对象。这里的 callSum()函数必须逐个地把参数...

2021-09-03 18:01:07 102

原创 8,理解对象

需要反复看的ECMAScript 6 专门为合并对象提供了 Object.assign()方法。这个方法接收一个目标对象和一个 1 或多个源对象作为参数,然后将每个源对象中可枚举(Object.propertyIsEnumerable()返回 true) 和自有(Object.hasOwnProperty()返回 true)属性复制到目标对象。以字符串和符号为键的属性 会被复制。对每个符合条件的属性,这个方法会使用源对象上的[[Get]]取得属性的值,然后使用目标 对象上的[[Set]]设置属性的值。

2021-08-25 11:22:17 105

原创 变量,作用域,内存

1,通过变量使用原始值 和引用值 原始值: 原始值有哪些类型? 引用值:2,理解执行上下文3,理解垃圾回收机制标记清理和引用计数。需要反复理解的部分4.1.3 传递参数ECMAScript 中所有函数的参数都是按值传递的。这意味着函数外的值会被复制到函数内部的参数 中,就像从一个变量复制到另一个变量一样。如果是原始值,那么就跟原始值变量的复制一样,如果是 引用值,那么就跟引用值变量的复制一样。对很多开发者来...

2021-08-22 20:17:48 88

原创 一个浏览器是如何工作的(第一篇)

1,浏览器是如何把一个url 变成一个网页的? 1,通过url拿到页面资源 2,渲染dom树 3,计算dom树上的css属性 4,根据css对元素进行渲染,得到元素在内存中的位图 5,将位图合并,绘制到页面上此处有一个需要注意的点 整个过程不是上一步结束了才进行下一步,就是,不需要等上一个步骤完全结束,下一个步骤就开始处理上个步骤的输出2,http协议 http协议是基...

2021-08-20 18:13:47 80

原创 js 中,箭头函数和普通函数的区别

1,this指向的不同,箭头函数的this,是指函数定义时的this值,和怎么调用他都没关系普通函数的this是由“调用它所使用的引用”决定,调用函数时所使用的引用,决定了函数执行时的this值

2021-08-14 22:56:16 67

原创 2021-08-12

using Autodesk.Revit.DB;using Autodesk.Revit.DB.Architecture;using Autodesk.Revit.DB.Structure;using Autodesk.Revit.UI;using Autodesk.Revit.UI.Selection;using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syste.

2021-08-12 10:29:40 69

原创 对象数组的去重操作

数组去重let submitData = [ { id: 1, name: "122" }, { id: 2, name: "2" }, { id: 3, name: "3" }, { id: 3, name: "3" },]let filterSubmitData = [];submitData.map(item=>{ let flag = filterSubmitData.some(element=>{ return...

2021-04-21 22:46:19 291

转载 Vue父组件调用子组件事件的两种方法

首先我们要了解$on和$emitvm.$on( event, callback ):监听当前实例上的自定义事件。事件可以由vm.$emit触发。回调函数会接收所有传入事件触发函数的额外参数。vm.$emit( event, […args] ):触发当前实例上的事件。附加参数都会传给监听器回调。父组件中:<template> <div> <div @click="click">点击父组件</div> .

2020-11-24 15:23:40 8886

转载 IOS 移动端 (Safari开发者工具)

https://www.jianshu.com/p/5960e16cecc1

2020-11-17 15:12:40 1942

转载 AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解

AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解javascriptvue-clicommonjswebpackast发布于 2018-09-01抽象语法树(AST),是一个非常基础而重要的知识点,但国内的文档却几乎一片空白。本文将带大家从底层了解AST,并且通过发布一个小型前端工具,来带大家了解AST的强大功能Javascript就像一台精妙运作的机器,我们可以用它来完成一切天马行空的构思。我们对javascript生态了如指掌,却常忽视javas

2020-11-15 20:33:58 367

原创 css 多行省略号

overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box;

2020-11-03 17:38:48 104

转载 使用flex布局,子元素怎么高度自适应?

1、想用flex实现这种布局2、各个子元素高度不固定,从上到下依次排列请问可以怎么实现?附:我对父元素定义了下面的规则:display:flex;flex-flow:row wrap;对子元素用p标签放了一些文本,未设置高度,结果显示效果如下红色标记是子元素被拉伸了,高度没有自适应:父元素上增加align-items: flex-start;因为交叉轴的对齐方式,默认是 stretch...

2020-11-01 16:46:39 7239 4

转载 css BFC

BFCBFC(Block Formatting Context):块级格式化上下文。BFC决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。当设计到可视化布局的时候,BFC提供了一个环境,HTML元素在这个环境中按照一定的规则进行布局。一个环境中的元素不会影响到其他环境中的布局。BFC的原理(渲染规则)BFC元素垂直方向的边距会发生重叠。属于不同BFC外边距不会发生重叠 BFC的区域不会与浮动元素的布局重叠。 BFC元素是一个独立的容器,外面的元素不会影响里面的元素。里面的元

2020-10-30 21:38:30 178

思源黑体的包

思源黑体的各个样式包,不需要再用font face,直接可以用

2019-02-15

亲测可用的zTree树菜单插件

经过亲测,这个ztree插件的确好用,由于刚开始用的是以前的版本,所以会导致效果出不来,但这个可以使用,使用时记得将类名写为ztree

2018-05-01

ssm框架所使用的jar包,

搭建ssm框架所要使用的全部的jar包,经过测试,确实可以使用

2018-04-14

zTree js css img包

如果使用在Tree插件时,要引入的js,图片,css,就是上面的ztTree的 js

2018-04-05

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

TA关注的人

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