自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_46515434的博客

记录学习笔记

  • 博客(38)
  • 收藏
  • 关注

原创 js事件循环

js是一门单线程语言,为了执行异步任务而不阻塞后续代码,以及避免等待时间的资源浪费,js存在事件循环(Event Loop)的机制。也并没有改变js单线程的本质。主线程在运行时会产生"执行栈",栈中的代码如果调用了异步api时就会把事件添加到"事件队列"中,只要该异步任务有了结果便会把对应的回调放到"任务队列"里,当"执行栈"中的代码执行完毕后会去读取"任务队列"里的任务,将其放到主线程执行,当执行栈空了再去检查,如此往复也就是事件循环了。js事件分两种:“同步任务”和“异步任务”。

2024-08-13 11:55:41 241

原创 for循环中的setTimeout的几种情况

在这个代码片段中,setTimeout 的第一个参数是 console.log(i),这是一个立即执行的函数调用,而不是一个回调函数。因此,console.log(i) 会立即执行,并且 setTimeout 的第二个参数 0 实际上没有任何意义,因为 console.log(i) 已经立即执行了。循环执行:for 循环从 i=0 开始,每次循环 i 递增 1,直到 i<10 不成立为止。回调函数执行:由于 let 具有块级作用域,每次循环都会创建一个新的 i,因此每个回调函数都会捕获到对应的 i 值。

2024-08-07 16:06:48 416

原创 HTML5+ push消息推送

plus.push 是 HTML5+ 中用于管理推送消息的主要对象。通过它,开发者可以添加事件监听器、清空推送消息、创建本地消息、获取所有推送消息、获取客户端推送标识信息等。

2024-07-22 17:27:18 1063 1

原创 HTML5的离线存储

此外,随着Web技术的发展,新的缓存和离线存储技术(如Service Workers和Cache API)正在逐渐取代HTML5的离线缓存功能,因此开发者也可以考虑使用这些新技术来实现离线存储的需求。该文件包含一个或多个CACHE、NETWORK和FALLBACK部分,用于指定需要缓存的文件和资源、哪些文件需要在线访问、以及在无法访问某个资源时应使用的备用资源。在HTML文档的部分,通过添加一个指向缓存清单文件的标签(或使用manifest属性,具体取决于浏览器支持情况),将缓存清单与HTML文件相关联。

2024-07-19 10:24:06 850

原创 react实战——react旅游网

在利用typescript编写react项目时,函数式组件需要定义返回值类型。传递的props参数的类型,就是使用interface泛型定义的以下是编写状态管理createSlice:action与reducer捆绑在一起了将detail从MVC修改到redux-tooltik以下是编写异步数据操作。

2024-03-07 11:14:43 1016

原创 git学习

在一个新项目中想要使用git,首先需要做的就是在该项目根目录下打开git窗口命令,有多个分支时(第一次提交一定是在master分支上)希望合并到哪个分支上就先切换到哪个分支上。版本控制:记录文件变化,生成版本。

2024-01-05 16:26:07 887

原创 Java学习之面向对象

Java学习之面向对象

2023-12-06 17:49:41 87

原创 TypeScript基础学习

TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,任何的JS代码都可以直接当成JS使用。相较于JS而言,TS拥有了静态类型,更加严格的语法,更强大的功能;TS可以在代码执行前就完成代码的检查,减小了运行时异常的出现的几率;TS代码可以编译为任意版本的JS代码,可有效解决不同JS运行环境的兼容问题;

2023-11-28 17:15:08 904

原创 ReactRouter6——react学习part04

React Router 发布了三个不同的包:react-router:路由核心库,提供许多组件、钩子react-router-dom:包括了 react-router 所有内容,同时添加了用于 DOM 的组件,如react-router-native:包括了 react-router 所有内容,同时添加了用于 ReactNative 的 API,如与 React Router 5.x 版本的区别:内置组件的变化:移除,新增 ……

2023-11-24 11:02:04 152

原创 React扩展知识(Hooks)——react学习part03

setXxx(value => newValue): 参数为函数, 接收原本的状态值, 返回新的状态值, 内部用其覆盖原来的状态值。只当前组件重新render(), 就会自动重新render子组件,纵使子组件没有用到父组件的任何数据 ==> 效率低。setXxx(newValue): 参数为非函数值, 直接指定新的状态值, 内部用其覆盖原来的状态值。只要执行setState(),即使不改变状态数据, 组件也会重新render() ==> 效率低。参数: 第一次初始化指定的值在内部作缓存。

2023-11-23 11:08:17 73

原创 React路由与Redux——react学习part02

安装依赖:yarn add react-app-rewired customize-cra babel-plugin-import less less-loader修改package.json},根目录下创建config-overrides.js//配置具体的修改规则//以下配置后可以实现按需引入(只实现按需引入,不实现自定义主题的话:style:'css')//若还需要实现自定义主题,则style:true,并且需要安装less、less-loader}),}),

2023-11-22 10:53:37 96

原创 React详解(基础知识)——react学习part01

1.官网1.英文官网: https://reactjs.org/2.中文官网:https://react.docschina.org/2.介绍描述1.用于动态构建用户界面的 JavaScript 库(只关注于视图)2.由Facebook开源3.React的特点1.声明式编码2.组件化编码3.React Native 编写原生应用4.高效(优秀的Diffing算法)4.React高效的原因1.使用虚拟(virtual)DOM, 不总是直接操作页面真实DOM。2.DOM Diff

2023-11-14 09:57:28 126

原创 Vue基础学习 Vue3——part03

1. Composition API(组合API) - setup配置 - ref与reactive - watch与watchEffect - provide与inject - ......2. 新的内置组件 - Fragment - Teleport - Suspense3. 其他改变 - 新的生命周期钩子 - data 选项应始终被声明为一个函数 - 移除keyCode支持作为 v-on 的修饰符

2023-10-24 17:19:04 81

原创 Node.js详解之npm、express框架、MongoDB——part02

包』英文单词是 package ,代表了一组特定功能的源码集合cnpm 是一个淘宝构建的 npmjs.com 的完整镜像,也称为『淘宝镜像』,网址cnpm 服务部署在国内 阿里云服务器上 , 可以提高包的下载速度官方也提供了一个全局工具包 cnpm ,操作命令与 npm 大体相同简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB 应用(HTTP 服务)模板引擎是分离用户界面和业务数据的一种技术EJS 是一个高效的 Javascript 的模板引擎。

2023-10-18 15:53:04 320

原创 vue基础学习 Vuex和Vue路由——part02

概念:专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。简言之,Vuex可以实现多组件共享数据。在模板中一直使用来使用vuex中的值会很繁琐,我们可以在计算属性computed中来接收vuex中的值。但这样在vuex中数据很多的情况下,就要写很多这样的代码,因此我们可以使用mapState方法:用于帮助我们映射state中的数据。

2023-10-17 16:39:43 208

原创 Vue全局事件总线以及消息订阅与发布

一种可以在任意组件间通信的方式,本质上就是一个对象,他必须满足以下条件:1.所有组件对象都必须能看见他。2.这个对象必须能够使用 $on $emit $off方法去绑定、触发和解绑事件。(因为 $on ,和 $off 和 $emit 这三个方法在Vue原型对象上,所以,我们的全局事件总线就要放在Vue的原型对象(vue.prototype)上,以确保每个组件都能访问得到)

2023-10-09 16:21:59 302

原创 vue.js基础学习——part01

一文入门vue,最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法 (即双大括号),可以在里面写js表达式。一个自定义指令由一个包含类似组件生命周期钩子的对象来定义。钩子函数会接收到指令所绑定元素作为其参数。//全局自定义指令ript>// 指令与元素成功绑定时(一上来)},// 指令所在元素被插入页面时element.focus() //自动获取焦点},// 指令所在的模板被重新解析时})data() {},//指令回调里的this是window。

2023-10-08 16:24:21 169

原创 解决vue不是内部命令

如果此时仍然vue不是内部命令,可以cmd中执行npm config list命令,将prefix后面的命令添加到环境变量的系统变量里的path里。在安装vue cli时,执行完后以下命令后,vue命令仍然是不是内部命令。在此时如果cnpm显示不是内部命令,可以查看这篇笔记解决。记录自己解决vue不是内部命令的问题。

2023-10-08 10:38:14 98 1

原创 解决cnpm安装完后不是内部命令的问题

需要找到cnpm的安装路径,我在node.js的安装路径下的node_global文件夹中没有找到cnpm,而是在以下位置找到的。2)配置过node_modules和node_cache,在node_global文件夹下可以看到cnpm的安装路径。所以在给cnpm配置环境变量时,需要在系统变量的path中新建一条。出现以下东西则代表安装成功。

2023-10-08 10:25:43 2169 2

原创 Node.js详解

服务端又称后端、serve端。提供前端要展示的数据,接收前端提交的数据,存储数据。将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为模块化其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用。

2023-09-28 15:37:11 745

原创 sass基础学习

sass 是css的预处理器,他能用来清晰地、结构化地描述文件样式,有着比普通css更强大的功能。sass能够提供更简洁、更优雅的语法,同时提供多种功能来创建可维护和管理的样式表,有助于更好地组织管理样式文件,一级更高效地开发项目。

2023-09-11 16:28:28 84

原创 axios的详细学习

每次点击发送请求时,判断上次的请求是否还在发送,如果还在发送就取消掉,进行本次发送,这样在连续点击发送请求时,减小服务器压力。axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。在发送请求之前,可以借助一些回调,对请求的参数和内容检测,没有问题,发送请求;当服务器返回结果,响应拦截器在我们对返回的结果处理之前,先对这些结果预处理。对响应的结果做一些处理,我们用自定义的回调处理这个结果。对请求的数据做处理,将处理后的结果向服务器发送。基本地址,会与url拼接起来。

2023-09-11 15:17:06 446

原创 AJAX详解

AJAX全称为Asynchronous JavaScript And XML,就是异步的JS和XML。通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据,实现数据的交换。AJAX不是新的编程语言,而是一种现有的标准组合在一起使用的新方式。下面这种情况:搜索打出原神两字,与原神有关的就都显示在下方,这就是利用了AJAX技术。(最初AJAX返回的数据格式就是XML形式的,现已被JSON取代)

2023-09-06 17:20:41 798 1

原创 本地存储——Cookie

Cookie全称是HTTP Cookie,简称Cookie,是浏览器存储数据的一种方式,因为存储在用户本地,而不是存储在服务器上,是本地存储,一般会自动随着浏览器每次请求发送到服务器端。读取的是一个由名值对构成的字符串,每个名值对之间由;读取到的是全部的cookie,原生的cookie不能根据名来读取值,但可以通过封装cookie来进行。利用Cookie跟踪统计用户访问该网站的习惯,比如什么时间访问,访问了哪些页面,在每个网页的停留时间等。max-age:值为数字,表示当前时间+多少秒后过期,单位是秒。

2023-09-05 10:30:24 1037 1

原创 前后端交互——HTTP请求及协议格式详解

详解HTTP请求的请求体、响应体、状态码。

2023-09-02 11:01:59 1380 1

原创 Set和Map数据结构

Set是一系列无序、没有重复值的数据的集合,Set中不能有重复的成员。Set没有下标去标示每一个值,所以Set是无序的,也不能像数组那样通过下标去访问Set内的成员。

2023-08-17 17:10:42 50 1

原创 ES6之Promise学习

then()方法不管执行第一个回调函数还是第二个回调函数,它都会return一个东西,return后面的东西会用Promise包装一下。then()方法返回的Promise对象的状态根据return的Promise内部书写的代码决定。我们在平时的使用过程中,将then()只传一个参,专门用来处理resolve后的操作,catch()就专门用来处理rejected的状态。catch本质是then的特例。Promise是异步操作的一种解决方案,Promise一般用来解决层层嵌套的回调函数(回调地狱)的问题。

2023-08-17 17:07:29 56 1

原创 JS 什么是回调函数

原文链接:https://blog.csdn.net/fang_my/article/details/123626133。

2023-07-29 11:16:40 44

原创 微信小程序同时上传多个文件(wx.uploadFile)

使用递归有一个问题,如果要上传的东西里,其余参数中有些值只能上传一次,比如日期,在第二次上传的时候会显示此日期已经添加,请勿重复添加,这样就会导致只上传成功第一个文件。

2023-07-29 09:58:58 3495 3

原创 01 ES6基础——模板字符串、箭头函数、解构赋值、展开运算符

var、let声明的就是变量,变量一旦初始化之后。还可以重新赋值const声明的就是常量,常量一旦初始化,就不能重新赋值了,否则就会报错(1)const(1)重复声明重复声明:已经存在的变量或常量,又声明了一遍var允许重复声明,let、const不允许重复声明(2)变量提升var会提升变量的声明到当前作用域的顶部,而let、const不存在变量声明(3)暂时性死区只要作用域内存在let、const,它们所声明的变量或常量就自动“绑定”这个区域,不再受到外部作用域的影响。let、const存在

2023-07-24 14:51:02 614

原创 正则表达式

正则表达式描述了字符串的“构成模式”,经常被用于检查字符串是否符合预定的格式要求。

2023-07-20 17:27:40 54 1

原创 JS之面向对象

2.属性的访问:可以用“点语法”访问对象中指定键的值,例如:person.name。1.对象是“键值对”的集合,表示属性和值的映射关系,在这里,如果对象的属性键名不符合JS标识符命名规范,则这个键名必须用引号包裹起来。5.属性的删除:如果要删除某个对象的属性,需要使用delete操作符,delete person.name。4.属性的创建:如果对象本身没有某个属性值。如果某个属性值是函数,则它也被称为对象的“方法”,通过打点的方式调用。:对象打点调用它的方法函数,则函数的上下文是这个打点的对象。

2023-07-20 11:40:23 80 1

原创 JS之DOM和BOM学习

1.DOM(Document Object Model,文档对象模型)是JavaScript操作HTML文档的接口,是文档操作变得非常优雅和简便。DOM最大的特点就是将文档表示为节点树。一是 可以直接在html标签上书写今天下雨啦如果设定的自定义属性是多个单词的组合的话,需要用中横线(-) 链接,比如今天下雨啦二是可以通js的dataset属性来设置今天下雨啦

2023-07-17 15:46:06 810 1

原创 JS函数、闭包、立即执行函数

JavaScript中函数会产生闭包(closure),闭包是函数本身和该函数声明时所处环境状态的组合。 函数能够“记忆住”其定义时所处的环境,即使函数不在其定义的环境中被调用,也能访问定义时所处环境的变量。

2023-07-14 15:33:32 385

原创 JS中的深克隆和浅克隆

目前以下均以数组为例。

2023-07-14 09:50:28 437 1

原创 JS基础学习以及一些常考算法

方法2方法3var arr = new Array(4) //表示定义了一个长度为4的数组,但是这4项都是undefined2.数组的访问利用数组的下标对数组进行访问,数组的下标序号是从0开始的,下标越界时会返回undefined,而不是报错。3.数组的长度数组的length属性表示数组的长度4.更改数组项通过下标即可更改数组项,如果更改的数组项超过了数组的length-1,就会创造这个项5.数组类型的检测数组用typeof检测结果是object。

2023-07-10 16:23:52 106 1

原创 CSS入门

css(cascading style sheet,层叠式样式表)是用来给HTML标签添加样式的语言。css3是css的最新版本,增加了大量的样式、动画、3D特效和移动端特性等。css使样式和结构分离,样式和结构不用“杂糅着写”,而是彼此分开的:HTML就负责结构,css就负责样式。HTML和css是通过“选择器”结合的。所有的HTML标签都可以看成是一个盒子,由width、height、padding、margin和border构成。

2023-07-03 16:02:58 596 1

原创 HTML入门

css(cascading style sheet,层叠式样式表)是用来给HTML标签添加样式的语言。css3是css的最新版本,增加了大量的样式、动画、3D特效和移动端特性等。css使样式和结构分离,样式和结构不用“杂糅着写”,而是彼此分开的:HTML就负责结构,css就负责样式。HTML和css是通过“选择器”结合的。

2023-06-28 15:06:09 427

空空如也

空空如也

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

TA关注的人

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