自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redux

Redux是JavaScript状态容器,提供可预测化的状态管理。一般与React一同使用。Redux使用普通对象存储state,但是state不能随意被修改。通过reducer具体描述数据如何变化。

2022-08-01 10:42:05 135 1

原创 JSX基础

JSX语法基础

2022-08-01 10:41:31 384

原创 React生命周期

当组件的props或state发生变化时会触发更新。当组件从DOM中移除时会调用如下方法。

2022-08-01 10:40:29 201

原创 React基础

React组件除了函数组件还有class组件,最基本的class组件包括构造函数constructor和render()方法。使React组件的state成为表单输入元素的唯一数据源,且React组件能控制表单输入元素随用户输入发生的行为,这样的表单输入元素称为受控组件。当多个组件需要反应相同的数据变化时,将共享状态提升至最近的共同父组件中,即存储在父组件的state中。DOM中组件被删除时,称为卸载unmount。这样,父组件可以通过子组件的props的方式为子组件提供数据源及修改数据的行为。...

2022-08-01 10:39:06 156

原创 前端性能优化

采用精灵图,把一些小图合并到一张大图上,使用的时候通过背景图片定位,定位到具体的某一张小图片上。html示例

2022-08-01 10:37:25 77

原创 实现跨域的几种方式

1、CORS跨域资源共享,在后端的响应头中设置即可。2、jsonpjsonp进行跨域的原理:利用script标签进行网络请求,在本地定义好接收数据的函数,然后通过在请求url中添加参数的方式发送本地函数名,后端通过解析url参数并返回js代码,其中就可包含调用本地函数及传入数据参数的代码。3、nginx服务器代理在nginx服务器的默认配置文件nginx.conf中添加:...

2022-08-01 10:31:08 1738

原创 AJAX请求

AJAX即“AsynchronousJavascriptAndXML”(异步的JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,用于浏览器和服务器之间进行数据交互。AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX描述了一种主要使用脚本操作HTTP的Web应用架构,AJAX应用的主要特点是使用脚本操纵HTTP和Web服务器进行数据交换,不会导致页面重载。对AJAX的印象。...

2022-08-01 10:29:37 576

原创 js实现数组去重

js实现数组去重。

2022-08-01 10:27:58 78

原创 JavaScript面试题汇总

1、事件循环是浏览器和Node执行JS代码的核心机制,但浏览器和NodeJS事件循环的实现机制有些不同。2、浏览器事件循环有一个宏队列,一个微队列,且微队列在执行过程中一个接一个执行一直到队列为空,宏队列只取队首的一个任务放入执行栈执行,执行过后接着执行微队列,并构成循环。3、NodeJS事件循环有四个宏队列,两个微队列,微队列执行方式和浏览器的类似,先执行NextTickQueue所有任务,再执行OtherMicrotaskQueue所有任务。...

2022-08-01 10:25:25 117

原创 Vue.js面试题

MVVM是的简写。MVVM分为三层,M层,V层,VM层。VM层是连通M层和V层的桥梁。在Vue中,V层相当于vue实例的视图模板;VM层相当于vue实例本身,拥有向后台请求数据和操作数据的能力。MVVM最主要的优点在于。...

2022-08-01 10:23:55 276

原创 axios

axiosAxios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。特性从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF使用前先CDN引入或npm安装依赖axios APIaxios(config),config是配置对象,该方法返回一个Promise对象axios({ url:

2022-02-28 22:47:59 298

原创 VueRouter导航守卫

导航守卫全局前置、后置守卫使用 router.beforeEach 注册一个全局前置守卫:const router = new VueRouter({ ... })router.beforeEach((to, from, next) => { // 一般在所有路由跳转之前检查token是否存在。 // console.log("to: ", to); // console.log("from: ", from); // next();})当一个导航触发时,全局前置守卫按

2022-02-28 22:46:04 96

原创 Vue状态管理Vuex

Vuex// 模块化开发// 可以先声明多个子store,然后再传入Vuex.Store的构造函数:const store1 = { namespaced: true,// 开启命名空间 // 类似子组件的data,这里state必须是一个方法 state() { return {} }, getters: {}, mutations: {}, actions: {}},const store2 = { namespa

2022-02-28 22:43:36 77

原创 ES6 Set、WeakSet

Set、WeakSetSetSet 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。Set中的元素只会出现一次,即 Set 中的元素是唯一的。NaN和undefined都可以被存储在Set 中, NaN之间被视为相同的值(NaN被认为是相同的,尽管 NaN !== NaN)。创建一个Set对象:new Set([iterable])iterable为可选参数,如果传递一个可迭代对象,它的所有元素将不重复地被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为

2021-10-16 23:24:37 107

原创 Map、WeakMap

Map、WeakMapMapMap 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值) 都可以作为一个键或一个值。一个Map对象在迭代时会根据对象中元素的插入顺序来进行,迭代时返回[key, value]形式的数组。Map和Object的不同:1、Map默认不包含任何键,只包含显式插入的键。一个 Object 有一个原型, 原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。2、一个 Map的键可以是任意值,包括函数、对象或任意基本类型。一个Object 的键必须是一个

2021-09-29 19:30:39 114

原创 ES6 生成器

生成器生成器对象生成器对象由生成器函数返回,它符合可迭代协议和迭代器协议。语法:function* gen() { yield 1; yield 2; yield 3;}let g = gen();// "Generator { }"Generator.prototype.next() 返回一个包含两个属性(done,value)的对象。Generator.prototype.return(value) 返回一个对象,该对象的value值等于传入的值。如果对已经处于“完成

2021-09-28 19:53:58 176

原创 es6迭代协议

迭代协议迭代协议分为两个协议:可迭代协议和迭代器协议。可迭代协议可迭代协议允许 JavaScript 对象定义或定制它们的迭代行为。如果一个对象(或它原型链上的对象)实现了**[Symbol.iterator]方法,称该对象满足可迭代协议,也称该对象为可迭代对象**。[Symbol.iterator]方法返回一个无参函数,该函数返回值为一个满足迭代器协议的对象,即迭代器对象。一个可迭代对象是如何被迭代的?当一个对象需要被迭代的时候(比如被置入一个 for...of 循环时),首先,会不带参数调用

2021-09-28 14:03:55 138

原创 ES6基础语法

ECMAScript 6语法简介1、块作用域构造let和constlet声明const声明全局块作用域绑定2、模板字面量多行字符串字符串占位符3、默认参数4、rest参数5、展开运算符6、对象字面量语法扩展属性初始值的简写对象方法的简写语法可计算的属性名7、解构赋值对象解构1、块作用域构造let和constlet声明使用let声明的变量的作用域限制在当前代码块中://函数内部function changeState(flag) { if(flag){ let color =

2021-08-31 16:51:13 447

空空如也

空空如也

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

TA关注的人

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