自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue3 ----- pinia

将共享的数据交给pinia进行管理。

2024-07-18 10:42:40 372

原创 Vue3 --- 路由

浏览器的路由模式有push和replace两种,默认为push模式(可前进可后退);缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有404错误。编程式导航 ---- 脱离< RouterLink >实现路由跳转。优点:URL更加美观,不带有#,更接近传统的网站URL。更方便的收到参数(可以将路由参数作为props传给组件)一般组件:自己亲手写出来的 < Demo />也可以给路由添加名字,通过名字找到它。路由组件:靠路由的规则渲染出来的。在路由规则中设置props。

2024-07-16 19:31:08 290

原创 Vue3 核心语法

age:number定义某个对象符合personInter 接口规范表示根目录src定义一个数组中每个对象都符合personInter 接口规范第一种方法 ----使用泛型第二种方法 ----自定义类型])我们一般将有联系的数据或方法放在一个hook文件文件中进行管理,这大大实现了模块化开发;比如有一些关于dog的变量或者方法,我们会将其放在useDog.ts中。(hook文件的命名以use开头)return {dog注意:文件中的变量或者方法都必须使用return 返回出去。

2024-07-16 09:35:20 891

原创 Vue3 前置知识

vite是新一代前端构建工具,

2024-07-15 12:00:08 310

原创 webpack + vite 前端构建工具

->-->

2024-07-13 08:20:13 847

原创 常见报错net::ERR_ABORTED 404 (Not Found)

但是不在node环境中就需要加上;或者在引入js 文件时添加type属性。之前在node环境中引入文件时一般都不加。一般是找不到静态资源,或者引入错误;

2024-06-06 16:18:11 282

原创 axios学习

config:请求url,请求方法,请求头…data:响应体结果,axios自动将响应结果转换成json 格式headers:响应头request:原生ajax请求,也就是XMLHttpRequest实例对象axios 请求对象配置信息可以在下面网址中进行查看。

2024-05-16 17:43:38 905

原创 Ajax 学习

AJAX全称为Asynchronous JavaScript And XML,就是异步的JS和XML。通过AJAX可以在浏览器中向服务器发送异步请求无刷新获取数据。AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。懒加载页面滚动到底之后在进行刷新新的内容用户名已被其他用户设置小米商城网页上端下拉表单的内容显示XML可扩展标记语言。XML被设计用来传输和存储数据。XML和HTML类似,不同的是HTML中都是预定义标签;XML中没有预定义标签,

2024-05-14 22:29:56 939

原创 Node.js -- 会话控制

所谓会话控制就是对会话进行控制HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户而产品中又大量存在的这样的需求,所以我们需要通过会话控制来解决该问题cookiesessiontoken。

2024-05-11 20:21:50 390 1

原创 Node.js -- 接口

接口是什么接口是前后端通信的桥梁简单理解:一个接口就是服务中的一个路由规则,根据请求响应结果接口的英文单词是API(Application Program Interface),所以有时也称之为API接口这里的接口指的是 数据接口 ,与编程语言(Java,Go等)中的接口语法不同实现前后端交互接口的调用大多数接口都是由后端工程师开发的,开发语言不限一般情况下接口都是由前端工程师调用的,但有时后端工程师也会调用接口,比如短信接口,支付接口等接口的组成请求方法请求URL。

2024-05-08 10:33:25 434

原创 Node.js -- mongoose

Mongoose是一个对象文档模型库,官网http://www.mongoosejs.net/方便使用代码操作mongodb数据库mangoose 本身是一个包上节内容我们学习了在命令行手动交互,发命令请求,项目运行阶段明显是不可行的,但是我们可以借助mongoose。

2024-05-02 20:40:04 1250 1

原创 Node.js -- MongoDB

一、简介Mongodb是什么MongoDB是一个基于分布式文件存储的数据库,官方地址https://www.mongodb.com/try/download/community数据库是什么数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序数据库的作用数据库的主要作用就是管理数据,对数据进行增(c)删(d)改(u)查(r)数据库管理数据的特点速度更快扩展性更强安全性更强为什么选择Mongodb操作语法与JavaScript类似,容易上手,学习成本低。

2024-05-02 10:15:38 1396 1

原创 Node.js -- express 框架

express是一个基于Node.js平台的极简、灵活的WEB应用开发框架,官方网址:https://www.expressjs.com.cn/简单来说,express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用(HTTP服务)

2024-05-01 10:59:23 1437 1

原创 JS高级 -- 函数

【代码】JS高级 -- 函数。

2024-04-28 10:24:14 128

原创 JS高级 -- 对象

就比如我一个对象中存储了两个或以上个属性或方法,如果使用变量来存储,那么就需要创建两个或以上的变量来进行存储,这很麻烦。什么时候必须要用[‘属性名’]的方式?属性名包含特殊字符:- 空格。

2024-04-28 09:30:00 225

原创 JS高级 -- 数据_变量_内存

在js 调用函数是传递变量参数时,是值传递还是引用传递?理解2:可能都是值传递,也可能是引用传递(地址值)理解1:都是值(基本/地址值)传递。分配小内存空间,得到他的使用权。js 引擎怎样进行内存管理。存储数据,可以反复进行操作。

2024-04-28 08:30:00 436

原创 JS高级 -- 数据类型

注意要区分 undefined 和 ‘undefined’null – 定义并赋值了,只是值为null。undefined – 声明未赋值;

2024-04-27 21:50:24 300

原创 Node.js -- 包管理工具

包是什么?『包』英文单词是package,代表了一组特定功能的源码集合包管理工具管理『包』的应用软件,可以对「包」进行下载安装更新删除上传等操作借助包管理工具,可以快速开发项目,提升开发效率包管理工具是一个通用的概念,很多编程语言都有包管理工具,所以掌握好包管理工具非常重要常用的包管理工具npmyarncnpmcnpm是一个淘宝构建的npmjs.com的完整镜像,也称为 淘宝镜像 ,网址cnpm服务部署在国内阿里云服务器上,可以提高包的下载速度官方也提供了一个全局工具包cnpm。

2024-04-27 17:35:23 2118 4

原创 Node.js -- 模块化

变量不能重复命名;代码复用性差;代码可维护性差怎么解决这些问题呢?就是使用Node.js 模块化!将一个复杂的程序文件依据一定规侧(规范)折分成多个文件的过程称之为模块化;其中拆分出的每个文件就是一个模块,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用(模块可以理解为功能,只能自己调用自己的功能,但是可以把功能展示给其他人,引导其他人来调用模块化项目:编码时是按照模块一个一个编码的,整个项目就是一个模块化的项目防止命名冲突高复用性高维护性。

2024-04-25 16:18:18 1445

原创 Node.js -- http模块

静态资源是指内容长时间不发生改变的资源,例如图片、视频、css文件 、js文件、HTML文件、字体文件等;动态资源是指内容经常更新的资源,例如百度首页、网易首页、京东搜索列表等这些资源都是相对于项目上线之后来说的。

2024-04-25 11:34:04 1266 1

原创 Node.js -- fs模块

fs模块可以实现与硬盘的交互例如文件的创建、删除、重命名、移动,还有文件内容的写入、读取,以及文件夹的相关操作。

2024-04-24 15:06:24 758 3

原创 Node.js -- HTTP协议和网络基础概念

本节相关内容都可以在进行查看,深入了解相关内容。

2024-04-23 16:36:37 827

原创 Node.js -- path模块

我们之前使用的__dirname + 路径 输出的结果前面是正斜杠/ ,后面部分是反斜杠,看起来很不规范。// D:\nodeJS\13-path\代码/index.html。// D:\nodeJS\13-path\代码\index.html。// D:\nodeJS\13-path\代码\index.html。// D:\nodeJS\13-path\代码。

2024-04-22 17:06:55 643

原创 Node.js 基础学习

操作系统和应用程序的操作流程大体上来说是一致的,都是先将相关的程序从硬盘中获取加载在内存中,这样CPU就可以进行运行了,遇到视频信号时就交由显卡处理,最终在显示器上显示;另外,ES2020 中提出的globalThis 对象和Node.js 中的global 对象指向是一样的,也就是可以通过globalThis 访问顶级对象。与前者相比,后者创建的Buffer 可能会包含旧的内存数据,并且每次创建的Buffer 数据可能都不一样;:是一个进程中执行的一个执行流,一个线程是属于某个进程的。

2024-04-19 21:55:10 987

原创 常用的几种遍历方法

of循环是ES6中新增的一种遍历方式,其内部使用了迭代器(Iterator)来进行遍历。它可以遍历所有实现了迭代器的数据结构,如数组、Set、Map、字符串、arguments、NodeList对象等。foreach() 只能访问数组,不能访问伪数组。for 循环既可以遍历数组,也可以遍历伪数组!和原生的forEach方法一样,不能遍历伪数组。jQuery的each方法是可以遍历伪数组的。最基本的一种遍历方式就是for 循环。in 通常用来遍历对象属性。

2024-04-06 16:03:58 327

原创 javascript垃圾回收机制

垃圾回收机制是JavaScript 中使用的内存管理系统的基本组成部分,是为了防止内存泄露。JavaScript 在创建变量时自动进行了内存分配,并且在它们不使用的时候“自动释放内存”。内存在不使用时就被垃圾回收器自动回收内存泄露:内存泄露也称作“存储泄露”,用动态存储分配函数动态开辟的空间,在使用完之后未释放,结果导致一直占据该内存单元,直到程序结束。(说白了就是使用完之后未回收)

2024-04-06 10:17:10 282

原创 ES13 学习

这其实有点像一些其他的如C#和Java等面向对象的编程语言的静态构造函数的用法。这是因为CommonJS模块的require()是同步加载,如果有顶层await ,就没法处理加载了。findLast() / findLastIndex() 根据需要进行选择,前者是正着进行查找,后者是倒着进行查找。一般情况下,我们都是一个静态属性搭配一个get() ,这样能保证我们能访问到属性。引入顶层await ,也需要使用异步导出或者在动态导入的时候直接await 等待。at 函数来索引元素。

2024-04-06 09:00:59 1347

原创 ES12 学习

的,这意味着只要持有对象的引用,它就不会被垃圾回收。使用any 时如果先返回一定是fulfilled 状态的Promise 对象,如果该模块所有的Promise 对象都为rejected 状态,那么将执行catch()。现在我们要执行一个登录任务:设计一个登录 – 会员联盟系统,其中包括商超1,商超2,商超3,只要注册了一家的会员就能在另外两家商超使用会员,不然跳转到注册页面。并返回一个全新的字符串。同样的,使用普通的Map 数据机构,下面的代码中obj 不会被回收,因为m1 总的引用数 >0。

2024-04-05 21:23:59 875

原创 ES11 学习

标准用法的import 导入的模块是静态的,会使所有被导入的模块,在加载时就被编译(无法做到按需编译降低首页加载速度)。Promise.allSettled() 返回一个在所有给定的promise 都已经fulfilled 或rejected 后的promise ,并带有一个对象数组,每个对象表示对应的promise 结果。之前学习的Promise.all 只有在所有的Promise 都已经fulfilled 或rejected 才会执行then() ,否则将执行catch()。否则返回左侧的操作数。

2024-04-05 16:22:07 684

原创 ES10 学习

trimStart() 和trimEnd() 方法在实现与trimLeft() 和trimRight() 相同。为Symbol 对象添加了只读属性description ,该对象返回包含Symbol 描述的字符串。Object.fromEntries() 方法允许你轻松地将键。这点内容在ES6 学习部分已经提前学过了。

2024-04-05 08:40:31 309

原创 ES9学习 -- 对象的剩余参数与扩展运算符 / 正则扩展 / Promise.finally / 异步迭代

我们之前学习Promise 时,当对象调用resolve 时会执行某些程序,调用reject 时会执行某些程序,执行这些程序之前我们要呈现加载中的状态,待到执行了程序之后我们再关闭加载的状态,这时就出现一个问题,我们想在成功或者不成功时都调用某个程序,我们需要怎么写呢?JS正则表达式可以返回一个匹配的对象,一个包含匹配字符串的类数组,比如:以Y-MM-DD的格式解析日期,这样的代码可读性很差,并且在改变正则表达式的结构的时候很有可能就会改变匹配对象的索!我们也可以把上面异步遍历器执行代码换成下面的代码。

2024-04-03 21:08:43 1655

原创 ES8 学习 -- async 和 await / 对象方法扩展 / 字符串填充

该方法可以用来复制对象,当对象中存在拦截属性的方法时,我们使用object.assign() 就不灵了(object.assign() 只能复制属性和简单方法,具有拦截属性的方法就不能被复制)。拦截属性函数中我们一般不会去拦截对象的现有属性,比如说下面的代码中我们使用get() 获取this.name ,当程序运行时会不断调用get() ,程序一直在循环进行,但是得不到结果;如果某块代码出现错误时,代码就会直接跳到catch() 处,而不会继续执行下面的代码。// 这段代码是在 1s 之后才出现的!

2024-04-02 19:34:02 1109

原创 ES7 新特性

如果仅仅查找数据是否在数组中,建议使用includes();如果是查找数据的索引位置,建议使用indexOf() 更好一些.

2024-04-01 17:35:56 146

原创 ES6学习(五)-- Module 语法

我们之前学习的都是将 虽然写在html 标签之前,但是却能推后执行。使用async 时,js 代码加载完毕但是DOM还未渲染完全就会出现访问时找不到节点的问题;defer 则是等到DOM 全部都渲染完毕之后再进行js 代码的执行,所以比较来说更靠谱一点。

2024-04-01 17:27:42 1202

原创 ES6学习(四)-- Reflect / Promise / Generator 函数 / Class

of 循环不会遍历得到return 的结果,因为res3 = {value: ‘ccc’,done: true},根据迭代器的知识判断为true 时程序就停止了,不会得到return 的值。这也是Promise这个名字的由来,它的英语意思是“承诺”,一旦承诺成效,就不得再改变了。Reflect可以用于获取目标对象的行为,它与Object类似,但是更易读,为操作对象提供了一种更优雅的方式。意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。

2024-03-31 09:30:02 503

原创 ES6 学习(三)-- Symbol / Iterator 迭代器 / Set 结构 / Map 结构

对象是无序列非线性的,但是我们自己学习数组的设计(使用Array.prototype[Symbol.Iterator]最为该对象的[Symbol.Iterator],同时添加属性数作为长度),这样可以为线性对象也就添加了Iterator接口。Proxy如其名,它的作用是在对象和和对象的属性值之间设置一个代理,获取该对象的值或者设置该对象的值,以及实例化等等多种操作,都会被拦截住,经过这一层我们可以统一处理,我们可以认为它就是"代理器"Set 结构类似于数组,但成员的值都是唯一的,没有重复的值。

2024-03-28 22:09:30 1008 1

原创 ES6 学习(二)-- 字符串 / 数组 / 对象 / 函数扩展

之前所说的arguments 是类数组结构,不能使用filter() 等方法,但是现在可以使用Array.from() 将类数组结构转换成真数组,就可以使用相关数组方法来。标签中间的内容如果想要是可变的,还需要将kerwin 换成变量,使用字符串拼接的方法进行书写,这种写法实在是很麻烦,现在可以采用一种新方法。// [‘安庆’,‘安阳’,‘鞍山’,‘北京’,·‘保定’,‘包头’]数组上传到页面中会强行的转换成字符串的形式,数据会被 “,” 隔开;如果返回对象时需要注意: 使用( ) 将返回的对象括起来。

2024-03-26 22:02:53 1001

原创 ES6 学习(一)-- 基础知识

const 声明常量一般是不可以被再次赋值的,但是如果const 定义的常量是一个对象(复杂数据类型),那么该变量只是存储了一个地址信息,通过obj.xxx 还是可以进行修改的。如果不想要该变量被修改就需要使用到freeze(),但是该函数只能冻住第一层属性,如果属性值是复杂数据类型,那么还是能够进行修改的。在代码块中使用let 变量定义之前变量是不可用的且该变量是存在的,此时我们把这块内容称作暂存/时性死区。const 声明的是常量,需要在声明时就赋值,后期值不可以修改;而let 声明变量则是局部变量;

2024-03-26 21:13:20 1161

原创 jQuery 其他方法

*浅拷贝:**简单数据类型就直接被拷贝,复杂数据类型就只拷贝过去地址;修改目标对象会影响被拷贝对象。bootstrap JS 组件 就是把网页中常用的一些功能组合到了一起,我们只需要复制粘贴就能使用了。图片懒加载技术 ---- 图片使用延迟加载可以提高网页下载速度;在html 文件中使用ctrl + H 使用查找/替换可以把某些代码替换。**深拷贝:**指的是完全克隆,修改目标对象不会影响被拷贝对象。在插件说明文档中都有相应配置参数的解释,在使用插件时可以查看。拷贝过去的对象属性值会覆盖原来对象的值。

2024-03-23 10:08:42 817

原创 jQuery 事件

但是jQuery 事件处理让我们可以同时给某个元素同时绑定多个事件。默认行为:比如说input 表单如果获得了焦点,那么光标就会在闪烁。

2024-03-22 20:07:06 328

空空如也

空空如也

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

TA关注的人

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