自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端面经--没什么做不到的,只是时间的问题

什么是闭包?函数+函数访问的变量。特点是可以访问函数外面的变量;其实debounce本质上返回的是一个函数定义,也就是下面的d函数,显然,d函数访问了d函数外的timer,那么d函数和timer构成了闭包。这也是实现防抖的关键。timer变量,只要有函数引用,就不会消失。五次抖动中(循环),每次循环,都返回了debounce的d函数,我们可以对应成d1,d2,d3,d4,d5;实际上di都访问了timer,然后,di+1会清除掉di创建的timer,并且将timer指向新的timer,其实也就是覆盖。

2024-09-11 17:13:14 938

原创 浏览器 | 不同标签页面之间的通信

两个标签页面A,B,也就是page A , page B。

2024-11-18 15:50:50 205

原创 vue | computed vs watch

参考

2024-11-18 15:22:49 372

原创 html | 节点操作

节点分为很多种,firstChild返回第一个节点,这个节点可以是comment_node等节点,firstElementChild返回第一个element_node的节点。

2024-11-18 11:22:58 476

原创 react | setTimeout 使 setState “同步化”的原理

我都是猜的。

2024-11-15 16:33:36 153

原创 常见error集合

Cannot use import statement outside a module原因:在commonJS中用了es6的语法,import。分析: 一般我们的运行环境按照模块化标准来分,可以分为es6和commonJS两种,在es6中引入模块用import,在commonJS中用require。在你的环境中,全局下,输出this,如果指向的是undefined,那么就是es6,否则是commonJS解决方法把文件改成.ts后缀或者import改成require

2024-11-12 20:49:06 446

原创 vue | 劫持原理

2中的拦截器,实在组件注册的时候,就确定了哪些属性被监听。由于defineProperty中,只能监听set和get方法,所以会出现,对象新添加属性,视图不会更新。首先3是基于proxy的,它提供了很多拦截方法,包括但不限于对象的delete事件,数组的push等事件。

2024-11-12 20:08:22 312

原创 js | 作用域

【代码】js | 作用域。

2024-11-12 19:42:04 278

原创 js | undefined vs null vs void 0

参考链接:js中==的隐式转换写得很好:https://juejin.cn/post/6844903832560861191比如在chorme中,虽然不允许更改,如下,但ie8什么的,好像就有问题,全局下也允许更改nodejs中把上面的window,换成global就行了。

2024-11-07 18:53:40 957

原创 commonJS | module.exports vs exports

【代码】commonJS | module.exports vs exports。

2024-11-07 15:11:45 223

原创 vue | 自学入门,记录

bash中运行不了vue-cli-service,通过npm run serve就可以,为什么简单来说,可能就是cli提供了环境,直接运行的话,需要借助npx来提供环境。

2024-11-06 17:05:12 337 2

原创 leetcode | 88. 合并两个有序数组

假设,nums1=[a1,a2,…,0] nums2=[b1,b2,…合并过后的占据后x个,这x个,来自于k1个a串,k2个b串元素,求证m-k1+x

2024-11-06 11:48:04 264

原创 浏览器 | 跨域问题

重装chrome后,访问很多网站,都出现cors,但是之前不会,显然是浏览器的问题。

2024-11-06 10:06:37 282

原创 css | 几个height

• offsetHeight = 内容高度 + padding + border。• scrollHeight = 内容实际尺寸 + padding。• clientheight = 内容高度 + padding。height:作用于content。

2024-11-05 19:53:55 138

原创 css | padding vs margin

以下代码,外面盒子是100x10的,里面的width设置成了100%,显然,inner.width=100px,那么,inner.padding-bottom设置成100%,照理来说,为10px,但实际不是,而是100px。盒子模型反映,content的height是0,在这种情况下,inner在计算padding属性的时候,会以父元素的width为基准,所以会是100px*100%=100px;padding和margin用百分比的时候是怎么算的?一般情况下,根据相应的父元素属性。

2024-11-05 19:14:55 463

原创 事件捕获vs 事件冒泡,延申事件委托

事件捕获和事件冒泡。事件代理

2024-11-04 15:56:56 370

原创 手写 | 设计模式

参考+代码

2024-10-18 17:06:27 320

原创 vue | 组件通信

【代码】vue | 组件通信。

2024-10-11 19:46:30 263

原创 vue | 基础

和angular对比学习。

2024-10-11 14:49:24 202

原创 手写实现⭐

【代码】面经 | 手写。

2024-09-25 10:32:22 316

原创 面经 | webpack

说了loader是一个函数,所以你可以自己新建一个文件,自定义loader函数: 然后在rules中引入就行了;(其实也可以在需要的其他文件中引入)this.query 和 this.callback;去搜loader函数,很容易在函数中看到这样两行// ...this.query就是在获取你配置的{key:‘value’},如下图;// 要配置options的话,只能是一个对象;//

2024-09-24 13:19:33 934

原创 面经 | css

flex:1是felx:1 1 0的简写,是flex-grow:1;flex-basis:0的简写;掌握熟悉上面的一两种写下就行了。父元素是非static元素。

2024-09-24 13:18:04 898

原创 面经 | JS

什么是闭包?函数+函数访问的变量。特点是可以访问函数外面的变量;其实debounce本质上返回的是一个函数定义,也就是下面的d函数,显然,d函数访问了d函数外的timer,那么d函数和timer构成了闭包。这也是实现防抖的关键。timer变量,只要有函数引用,就不会消失。五次抖动中(循环),每次循环,都返回了debounce的d函数,我们可以对应成d1,d2,d3,d4,d5;实际上di都访问了timer,然后,di+1会清除掉di创建的timer,并且将timer指向新的timer,其实也就是覆盖。

2024-09-24 13:16:30 757

原创 面经 | ES6

打印p就好理解了,p是一个promise对象,状态为fulfilled;所以无论何时then,都能读到他的fulfilled值:‘hi’;,excutor是一个函数,可以接受两个入参resolve,reject。

2024-09-24 13:14:23 544

原创 react | 自学笔记 | 持续更新

纯小白自学笔记,有不对的欢迎指正。

2024-09-03 15:19:25 720

原创 react|useState的异步渲染

点击按钮,触发addAge函数。

2024-08-31 15:21:36 806 1

原创 js | XMLHttpRequest

和serve交互数据的对象;能够达到页面部分刷新的效果,也就是获取数据之后,不会使得整个页面都刷新;虽然名字是XML,但不限于XML数据。req.open()第三个参数,就是表明你这个请求是异步还是同步的。不填或者true就是异步的,false就是同步的。

2024-08-29 16:26:29 349

原创 js | Core

总结就是 proto 只是一个访问方式,现在慢慢被舍弃了,没显示,可能是浏览器的问题。实际上你仔细对比,只要是有[[prototype]]或者__proto__就行了。例如,下面的,son是对象,foo不是对象。打印出来的son,能看到有一个prototype 对象。_: 那[[prototype]]是私有属性,访问不了也改不了,那就不访问不改了?也就是标记对象是从哪个对象继承来的。_ 就是用改[[prototype]]的。[[prototype]] :是对象的。_,只有[[protptype]]啊?

2024-07-17 18:36:51 432

原创 js | this 指向问题

简单粗暴的方法,就是去分析,f()在运行的时候,它的base是什么。那怎么判断base呢?就是看f()前面有没有 .,base为null,就是window/全局。举个例子,自己慢慢悟吧。

2024-07-17 15:59:51 204

原创 js | 原型链

为什么前者会输出Lucas 后者不会?call动作具体干了什么?

2024-07-16 17:07:43 329

原创 js | 事件循环 | async / await

假设函数是这样,实际上,f()会立刻执行,a()也会立刻执行;只有b()及其以后的都会进入微任务。也就是b() c()会进入微任务。一值有一个疑问,async await标记的函数,到底哪部分进入微任务队列呢?await 标记的下一行;

2024-07-02 21:27:27 346

原创 java | junit | 基本+技巧

condition错误再执行下面的语句,也就是说,condition为true则不会执行下面的语句。

2024-04-18 18:32:36 575 1

原创 java | 多线程 | ThreadLocal

了解ThreadLocal

2024-04-17 16:13:45 259

原创 sql | 建表语句中default 关键字的使用 | datetime vs timestamp vs bigint

时间戳,存表,好像一般存的是 datime\timestamp\bigint,那有啥区别呢?

2024-04-12 14:38:47 382

原创 java interface

因为接口中的变量默认是 public static final 的,即常量,无法被子类或实现类所修改。在这个例子中,接口 ttest 中的变量 s 被赋值为 ‘a’,而实现类 Test 中的变量 s 被赋值为 ‘b’,但是在 main 方法中,ttest t = new Test() 创建的对象是 Test 类型,但是访问的是接口中的变量 s,因此输出的是接口中的常量值 ‘a’。Test中的s改成static,输出的时候就是b。

2024-04-07 17:34:29 291

原创 java_编译器和解释器_类加载器

底层看 javac 和 java 命令

2024-01-25 17:51:46 447 1

原创 angular_less_封装

创建一个组件a,如何让a的less中的样式只对a生效,即使b中有同名的,也不覆盖?这样可以减少命名冗余。

2024-01-10 08:44:21 443

原创 css_auto的用法

布局中,当一个元素的左侧有空余空间时,它会自动向左对齐,而右侧的空余空间则会被自动填充。auto到底是什么意思,为什么可以让父div中的子div向左边对齐?的意思是让元素的右侧边距自动计算,从而使得元素向左对齐。是CSS中的一个属性值,它可以用于控制元素的布局。可以让元素的右侧空余空间被自动填充,从而实现向左对齐的效果。

2024-01-04 09:52:19 921

原创 angular_注入_值更改问题

在Angular中,当一个服务(例如组件A)被注入到多个组件(例如B和C)中时,所有组件都共享同一个服务实例。因此,如果在B组件中更改了A服务中的属性值,那么在C组件中访问该属性时将会得到更改后的值,而不是初始值。这是因为B和C组件都引用了同一个A服务实例,所以它们共享同一个状态。假如,在angular中,有abc三个组件,如果在b组件中注入a,更改了a的d值,然后,在c组件注入a,那么c中a的d值是初始值还是更改过后的值?

2024-01-03 15:55:47 453

原创 angular_取消订阅

方法,可能会导致请求继续进行,浪费资源,或者在某些情况下无法取消订阅。,不再有新的数据产生了,但是并不会立即停止正在进行的请求。信号时,立即停止正在进行的请求,因此更加可靠。操作符来实现取消订阅。

2024-01-03 09:45:46 489

凑够11个字符的java笔记

给自己的笔记

2022-10-25

空空如也

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

TA关注的人

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