<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lb6514052的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lb6514052</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lb6514052]]></copyright><item><title><![CDATA[redux 和vuex的区别]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124874219</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124874219</guid><author>lb6514052</author><pubDate>Thu, 19 May 2022 23:34:34 +0800</pubDate><description><![CDATA[先看Vuex作者尤雨溪的回答

Vuex 其实是一个针对 Vue 特化的 Flux，主要是为了配合 Vue 本身的响应式机制。当然吸取了一些 Redux 的特点，比如单状态树和便于测试和热重载的 API，但是也选择性的放弃了一些在 Vue 的场景下并不契合的特性，比如强制的 immutability（在保证了每一次状态变化都能追踪的情况下强制的 immutability 带来的收益就很有限了）、为了同构而设计得较为繁琐的 API、必须依赖第三方库才能相对高效率地获得状态树的局部状态等等（相比之下 Vuex ]]></description><category></category></item><item><title><![CDATA[前端炫酷登录页，拿来就能用]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124873893</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124873893</guid><author>lb6514052</author><pubDate>Thu, 19 May 2022 23:11:00 +0800</pubDate><description><![CDATA[一. 炫酷星空



代码


&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;
&lt;title&gt;运营系统登录页&lt;/title&gt;
 
&lt;link href="static/css/login.css" rel="stylesheet" type="text/css"&gt;
&...]]></description><category></category></item><item><title><![CDATA[react 和vue的理解]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124790430</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124790430</guid><author>lb6514052</author><pubDate>Mon, 16 May 2022 00:31:09 +0800</pubDate><description><![CDATA[当面试官问我们，对react的理解，对vue的理解，我们可以从下面四个方面回答

1是什么

2能干什么

3是如何干的

4干的怎么样 优点，缺点

5当然也可以补充一些其他的知识

首先说一下react

1是什么

官方文档 :用于构建用户界面的 JavaScript 库

2能干什么

可以通过组件化的方式来快速响应大型web应用

3如何干的

官方文档

声明式
React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图，当数据变动时 React 能高效更新并渲染合适的..]]></description><category></category></item><item><title><![CDATA[REACT高阶组件面试如何回答得高分]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124656722</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124656722</guid><author>lb6514052</author><pubDate>Sun, 08 May 2022 23:14:35 +0800</pubDate><description><![CDATA[React中的HOC

1组件是将props转换为UI,而高阶组件是将组件转换为另一个组件

2HOC本质就是一个函数，该函数接受一个组件作为参数，并返回一个新的组件，这是一种模式

3我们可以称之为纯组件，因为他们以接受任何动态提供的子组件，但他们不会修改或复制其输入组件中的任何行为

HOC用例:

1.代码复用，逻辑抽象化

2.渲染劫持

3.抽象化和操作状态(state)

4.操作属性props



下面是官方解释∶

高阶组件（HOC）是 React 中用于复用组件逻辑的一种高级技巧。...]]></description><category></category></item><item><title><![CDATA[React基础之事件机制]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124580130</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124580130</guid><author>lb6514052</author><pubDate>Thu, 05 May 2022 00:04:43 +0800</pubDate><description><![CDATA[一、组件基础

1. React 事件机制

&lt;div onClick={this.handleClick.bind(this)}&gt;点我&lt;/div&gt;

React并不是将click事件绑定到了div的真实DOM上，而是在document处监听了所有的事件，当事件发生并且冒泡到document处的时候，React将事件内容封装并交由真正的处理函数运行。这样的方式不仅仅减少了内存的消耗，还能在组件挂在销毁时统一订阅和移除事件。



除此之外，冒泡到document上的事件也不是原生的.]]></description><category></category></item><item><title><![CDATA[面试题，函数声明和函数表达式的区别]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124439116</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124439116</guid><author>lb6514052</author><pubDate>Tue, 26 Apr 2022 22:37:46 +0800</pubDate><description><![CDATA[函数声明有变量提升可以在之前调用





函数表达式不存在变量提升在前面调用会报错


]]></description><category></category></item><item><title><![CDATA[面试题  函数也是引用类型为什么返回function而不是object]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124438771</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124438771</guid><author>lb6514052</author><pubDate>Tue, 26 Apr 2022 22:24:38 +0800</pubDate><description><![CDATA[这个问题不好回答，我们可以查一下ecma语言规范文档





最后两行呢一个对象如果实现了call方法则是

function

如果没有实现call方法，则是object

那我们可以这样回答，ECMA-262中规定任何在内部实现[[Ca11]]方法的对象都应该在应用typeof操作符时返回"function"
...]]></description><category></category></item><item><title><![CDATA[null 和undefined区别]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124438520</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124438520</guid><author>lb6514052</author><pubDate>Tue, 26 Apr 2022 22:11:19 +0800</pubDate><description><![CDATA[null属于Object类型，表示原型链的终点，
]]></description><category></category></item><item><title><![CDATA[obj设置对象属性只读]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124417776</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124417776</guid><author>lb6514052</author><pubDate>Tue, 26 Apr 2022 00:06:13 +0800</pubDate><description><![CDATA[Object.defineProperty()定义

MDN上Object.defineProperty()定义是：


Object.defineProperty()方法会直接在一个对象上定义一个新属性，或者修改一个对象的现有属性，并返回此对象。


对象的数据属性

对象的数据属性有四个描述其行为的特性：

configurable
表示能否被修改或删除，如通过delete删除属性从而重新定义属性，或者能否把属性修改为访问器属性。直接在对象上定义的属性，这个特性的默认值是true，使用Ob...]]></description><category></category></item><item><title><![CDATA[Object的一些方法]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124417644</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124417644</guid><author>lb6514052</author><pubDate>Mon, 25 Apr 2022 23:53:04 +0800</pubDate><description><![CDATA[1.Object.entries(）

Object.entries:遍历对象，把属性，值组成数组，再返回一个新的二维数组



let obj = { 'a': 1, "b": 2, "c": 3 };

let obj1 = Object.entries(obj);

输出：[["a", 1],["b", 2],["c", 3]]

 let obj2 = Object.fromEntries(obj1)//{ a: 1, b: 2, c: 3 };

2.Object.fromEntries(）
..]]></description><category></category></item><item><title><![CDATA[为啥VUE和React都选择hooks]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124357464</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124357464</guid><author>lb6514052</author><pubDate>Fri, 22 Apr 2022 23:48:04 +0800</pubDate><description><![CDATA[「2022 年什么会火？什么该学？本文正在参与“聊聊 2022 技术趋势”征文活动」

📖阅读本文，你将:


	初步了解Hooks在vue与react的现状
	
	
	听一听本文作者关于Hooks的定义和总结
	
	
	弄懂“为什么我们需要Hooks”
	
	
	进行一些简单的Hooks实践
	
一、hooks: 什么叫大势所趋？

2019年年初，react在16.8.x版本正式具备了hooks能力。

2019年6月，尤雨溪在vue/github-issues...]]></description><category></category></item><item><title><![CDATA[为什么面试总是爱问闭包]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124310938</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124310938</guid><author>lb6514052</author><pubDate>Thu, 21 Apr 2022 00:28:40 +0800</pubDate><description><![CDATA[闭包

了解闭包前先来了解一下上级作用域和堆栈内存释放问题。



上级作用域的概念

函数的上级作用域在哪里创建创建的，上级作用域就是谁

var a = 10

function foo(){

  console.log(a)

}



function sum() {

  var a = 20

  foo()

}



sum()

/* 输出

  10

/

函数 foo() 是在全局下创建的，所以 a 的上级作用域就是 window，输出就是 10

...]]></description><category></category></item><item><title><![CDATA[手写 vue.use  Vue.compile  Vue.mixin]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124260950</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124260950</guid><author>lb6514052</author><pubDate>Mon, 18 Apr 2022 22:05:29 +0800</pubDate><description><![CDATA[一、Vue.use



Vue.use(plugin);



（1）参数



{ Object | Function } plugin

（2）用法



安装Vue.js插件。如果插件是一个对象，必须提供install方法。如果插件是一个函数，它会被作为install方法。调用install方法时，会将Vue作为参数传入。install方法被同一个插件多次调用时，插件也只会被安装一次。



关于如何上开发Vue插件，请看这篇文章，非常简单，不用两分钟就看完：如何开发 Vue 插件？

...]]></description><category></category></item><item><title><![CDATA[总结了五种js更加简洁的写法]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124206905</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124206905</guid><author>lb6514052</author><pubDate>Sat, 16 Apr 2022 00:28:19 +0800</pubDate><description><![CDATA[JavaScript无处不在，从PC端到移动设备端，甚至是后端，都在使用JavaScript

1、使用默认参数代替短路或条件

默认参数通常比短路更干净。


functionSomeMethod(paramThatCanBeUndefined){

constlocalValue=paramThatCanBeUndefined||"DefaultValue";
console.log(localValue)
//...
}
SomeMethod()//D...]]></description><category></category></item><item><title><![CDATA[10个有用的自定义钩子函数vue.js]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124192289</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124192289</guid><author>lb6514052</author><pubDate>Fri, 15 Apr 2022 12:46:30 +0800</pubDate><description><![CDATA[Vue 是我使用的第一个 JS 框架。可以说，Vue 是我进入JavaScript世界的第一道门之一。目前，Vue 仍然是一个很棒的框架。随着 composition API 的出现，Vue 只会有更大的发展。在这篇文章中，我将介绍 10 个有用的自定义钩子，让我们的代码更加好看。

useWindowResize

这是一个基本的钩子，因为它被用在很多项目中.


import { ref, onMounted, onUnmounted } from 'vue';

export functio...]]></description><category></category></item><item><title><![CDATA[虚拟长列表我学会了]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124192188</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124192188</guid><author>lb6514052</author><pubDate>Fri, 15 Apr 2022 12:35:48 +0800</pubDate><description><![CDATA[虚拟列表的使用场景

如果我想要在网页中放大量的列表项，纯渲染的话，对于浏览器性能将会是个极大的挑战，会造成滚动卡顿，整体体验非常不好，主要有以下问题：



页面等待时间极长，用户体验差

CPU计算能力不够，滑动会卡顿

GPU渲染能力不够，页面会跳屏

RAM内存容量不够，浏览器崩溃

1. 传统做法

对于长列表渲染，传统的方法是使用懒加载的方式，下拉到底部获取新的内容加载进来，其实就相当于是在垂直方向上的分页叠加功能，但随着加载数据越来越多，浏览器的回流和重绘的开销将会越来越大，...]]></description><category></category></item><item><title><![CDATA[Object.hasOwn“替代“in”操作符]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124192094</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124192094</guid><author>lb6514052</author><pubDate>Fri, 15 Apr 2022 12:22:27 +0800</pubDate><description><![CDATA[JavaScript在不断地升级迭代，越来越多的新特性让我们的代码写起来变得简洁有趣，这篇文章会介绍5个新特

1.# 使用"Object.hasOwn"替代“in”操作符

有时，我们想知道对象上是否存在某个属性，一般会使用“in”操作符或“obj.hasOwnProperty”，但它们都有各自的缺陷。

in

如果指定的属性位于对象或其原型链中，“in”运算符将返回true。


const Person = function (age) {
  this.age = age
}
Person.pro]]></description><category></category></item><item><title><![CDATA[webpack优化]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124145599</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124145599</guid><author>lb6514052</author><pubDate>Wed, 13 Apr 2022 13:09:36 +0800</pubDate><description><![CDATA[webpack优化很有必要

上一篇文章给大家讲解了简单搭建一个Vuecli，但是只是基本搭建，而没有进行进一步的优化。

而使用webpack打包躲不开的就是webpack优化这个话题，无论是面试还是实际开发，优化都是非常重要的事情，毕竟提升用户体验是我们前端工程师的职责



构建时间优化

首先就是构建时间的优化了

thread-loader

多进程打包，可以大大提高构建的速度，使用方法是将thread-loader放在比较费时间的loader之前，比如babel-loader

...]]></description><category></category></item><item><title><![CDATA[前端无痛刷新Token]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124131234</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124131234</guid><author>lb6514052</author><pubDate>Tue, 12 Apr 2022 18:48:51 +0800</pubDate><description><![CDATA[这个需求场景很常见，几乎很多项目都会用上，之前项目也实现过，最近刚好有个项目要实现，重新梳理一番。

需求

对于需要前端实现无痛刷新Token，无非就两种：

请求前判断Token是否过期，过期则刷新
	请求后根据返回状态判断是否过期，过期则刷新
处理逻辑

实现起来也没多大差别，只是判断的位置不一样，核心原理都一样：

判断Token是否过期

	没过期则正常处理
		过期则发起刷新Token的请求
		拿到新的Token保存
			重新发送Token过期这段时间内发起的请求
		
	
...]]></description><category></category></item><item><title><![CDATA[前端大文件分块上传]]></title><link>https://blog.youkuaiyun.com/lb6514052/article/details/124052987</link><guid>https://blog.youkuaiyun.com/lb6514052/article/details/124052987</guid><author>lb6514052</author><pubDate>Fri, 08 Apr 2022 22:54:23 +0800</pubDate><description><![CDATA[https://juejin.cn/post/7074534222748188685
]]></description><category></category></item></channel></rss>