自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (1)
  • 收藏
  • 关注

原创 js基础(查漏补缺版)

隐藏” 对象属性。如果我们想要向“属于”另一个脚本或者库的对象添加一个属性,我们可以创建一个 symbol 并使用它作为属性的键。symbol 属性不会出现在 for..in 中,因此它不会意外地被与其他属性一起处理。并且,它不会被直接访问,因为另一个脚本没有我们的 symbol。因此,该属性将受到保护,防止被意外使用或重写。因此我们可以使用 symbol 属性“秘密地”将一些东西隐藏到我们需要的对象中,但其他地方看不到它。

2023-08-21 14:43:15 203

原创 详讲js中的模块和导入导出

重新导出(Re-export)”语法 export ... from ... 允许导入内容,并立即将其导出(可能是用的是其他的名字),比如:希望想要使用我们的包的人,应该只从“主文件” auth/index.js 导入。开发者倾向于使用第二种方式,以便每个“东西”都存在于它自己的模块中,模块提供了一个特殊的默认导出 export default 语法,以使“一个模块只做一件事”的方式看起来更好。它的一个副作用是,模块脚本总是会“看到”已完全加载的 HTML 页面,包括在它们下方的 HTML 元素。

2023-08-21 14:42:34 1901

原创 ts那些简单的语义

1、静态类型检查,提早发现问题。2、类型即文档,便于理解,协作。3、类型推导,自动补全,提升开发效率。4、出错时,可以大概率排除类型问题,缩短 bug 解决时间。实战中的优点:1、发现 es 规范中弃用的方法,如:Date.toGMTString。2、避免了一些不友好的开发代码,如:动态给 obj 添加属性。3、vue 使用变量,如果没有在 data 定义,会直接抛出问题。

2023-08-07 17:02:59 208

原创 TS的进阶

【代码】TS的进阶。

2023-08-07 17:01:18 297

原创 错误处理,“try...catch“

如果这个 json 在语法上是正确的,但是没有所必须的 name 属性该怎么办// 不完整的数据try {// <-- 没有 error// 没有 name!这里 JSON.parse 正常执行,但是缺少 name 属性对我们来说确实是个 error。为了统一进行 error 处理,我们将使用 throw 操作符。try...catch 结构允许我们处理执行过程中出现的 error。从字面上看,它允许“尝试”运行代码并“捕获”其中可能发生的错误。try {// 执行此处代码。

2023-08-07 16:50:49 825

原创 WeakMap and WeakSet(弱映射和弱集合)

WeakMap 是类似于 Map 的集合,它仅允许对象作为键,并且一旦通过其他方式无法访问这些对象,垃圾回收便会将这些对象与其关联值一同删除。WeakSet 是类似于 Set 的集合,它仅存储对象,并且一旦通过其他方式无法访问这些对象,垃圾回收便会将这些对象删除。主要优点是它们对对象是弱引用,所以被它们引用的对象很容易地被垃圾收集器移除。这是以不支持 clear、size、keys、values 等作为代价换来的……WeakMap 和 WeakSet 被用作“主要”对象存储之外的“辅助”数据结构。

2023-08-02 17:58:48 144

原创 Map and Set(映射和集合)

JS的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。ES6 提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。

2023-08-02 17:58:00 142

原创 对象的深拷贝和浅拷贝

深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。

2023-08-02 17:55:46 258

原创 调度:setTimeout 和 setInterval

有时一个函数并不需要立刻执行,而是等待特定一段时间之后再执行。这就是所谓的“计划调用(scheduling a call)setTimeout() 是延时器,setInterval() 是定时器。

2023-08-02 17:54:38 305

原创 react路由在layout中的监听

withRouter 是一个高阶组件 HOC ,因为默认只有被 Route 包裹的组件才能获取到路由状态,如果当前非路由组件想要获取状态,那么可以通过 withRouter 包裹来获取 history ,location 等信息。withRotuer 的用法:他是一个函数,接受一个组件作为参数。

2023-08-02 17:53:35 356

原创 网页播放器

【代码】网页播放器。

2023-08-02 17:52:07 87

原创 浅说React-Dnd的使用

近期在工作中遇到一个新的需求:具体大概效果看下面.gif当时看到这个需求经师兄提醒知道了React-Dnd,想到了表格 Table - Ant Design里有一个可拖拽表格的效果,照搬到了项目里发现不太能满足我们的需求,就去搜了一些资料了解了React-Dnd的一下原理。

2023-08-02 17:38:19 370

原创 git常用命令

其他的「撤销」命令如 git checkout 和 git reset,会将 HEAD 或分支引用重新指向到指定的提交,git revert 命令也可以接受一个指定的提交,但并不会将任何引用移动到这个提交上。revert 操作会接收指定的提交,反转该提交引入的更改,并创建一个新的「回滚提交」记录反转更改,然后更新分支引用,使其指向该提交。相比 reset ,revert 会在提交历史中增加一个新的提交,而不会对之前的提交进行任何更改。git revert 命令用于回滚某一个(或多个)提交引入的更改。

2023-07-31 16:11:07 448

原创 多维数组(降维)

flat() 是 ES6 提供的一个将嵌套的数组 “拉平” 的方法。如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。Array.isArray() 用于确定传递的值是否是一个 Array,返回 true 或者 false。在这个递归方法中,我们判断每一项是不是数组。如果是,则进一步递归,直到其不是为止。如果不是,则用新数组接收它。

2023-07-31 14:18:02 230

原创 常用的shell命令

你可以使用man [命令]来查看各个命令的使用文档,如 :man cp。

2023-07-31 14:16:35 248

原创 使用lodash的reduce处理数据

【代码】使用lodash处理数据。

2023-07-31 11:23:37 465

原创 ts简单学习

infer是 inference 的缩写,通常的使用方式是用于修饰作为类型参数的泛型,如: infer R,R表示 待推断的类型。这是一种联合类型的拓展用法,当类型参数为联合类型,并且在条件类型左边直接引用该类型参数的时候,TypeScript 会把每一个元素单独传入来做类型运算,最后再合并成联合类型,这种语法叫做分布式条件类型。泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。该实用程序将返回一个表示给定类型的所有子集的类型。

2023-07-31 11:21:24 100

原创 ts一些常用符号

当尝试调用一个可能不存在的方法时也可以使用可选链,系统中某个方法不可用,有可能是由于版本不一致或者用户设备兼容性问题导致的。TypeScript 中的接⼝是⼀个⾮常灵活的概念,除了可⽤于对类的⼀部分⾏为进⾏抽象以外,也常⽤于对「对象的形状(Shape)」进⾏描述。可选链除了支持可选属性的访问之外,它还支持可选元素的访问,它的行为类似于可选属性的访问,只是可选元素的访问允许我们访问非标识符的属性,比如任意字符串、数字索引和 Symbol。. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(

2023-07-31 11:20:32 336

原创 网络请求fetch

fetch()是 XMLHttpRequest 的升级版,用于在 JavaScript 脚本里面发出 HTTP 请求。浏览器原生提供这个对象fetch()的功能与 XMLHttpRequest 基本相同,但有三个主要的差异。在用法上,fetch()接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。它的基本用法如下。

2023-07-31 11:17:33 1382

原创 :is()、:where() 和 :has() 伪元素

is()、:where() 和 :has() 伪元素是 CSS 中用于样式化元素的非常强大的工具。它们是在 CSS 选择器 Level 4 规范中引入的。它们允许我们将样式应用于符合特定条件的任何元素,例如元素的类型、元素的位置和元素的后代。

2023-07-31 11:11:39 194

原创 react hooks

react hooks

2023-07-31 11:09:06 624

原创 vue的组件通信和插槽

目录组件通信父组件向子组件传递数据props子组件向父组件传递数据多个参数非父子组件之间通信Vue 组件间通信有哪几种方式?插槽匿名插槽具名插槽插槽作用域组件通信父组件向子组件传递数据1.父传子: 父变,子变,子变,父不变,并且报错.2.父传子:父变,子变,子变,父变,需要传递一个对象3.父传子: 父变,子不变,子变, 父不变, 需要在子组件中将数据传递新的data属性父级Parent.vue<template>...

2021-12-26 20:44:55 573

原创 vue的组件components基础和安装vue脚手架

组件组件在vue是一个很强大的功能,可以对HTML进行扩展,在大型应用中,可以对一些抽象的功能进行封装作用:可复用的vue实例组件注册 局部注册组件 new Vue({ el: components:{ 自定义组件名称:{ template:'模板内容' } }}) <!-- 1.引入vue --> <script src="./vue.js"&...

2021-12-26 20:28:19 1843

原创 vue的侦听器,过滤器和过度动画的了解

目录侦听器普通监听深度监听百度搜索案例过滤器局部过滤器全局过滤器全局过滤器和局部过滤器的区别封装时间过滤器总结计算属性和 watch 的区别vue过渡动画transition组件内置的过渡类名内置类名实现动画配置animate.css实现过渡动画侦听器侦听器又名监听器监听器在vue中属于一个特殊的方法,用来监听data数据的改变,从而做出及时的响应普通监听* 1.监听器的方法名为data中的属性名* 2.系统...

2021-12-26 20:10:49 914

原创 vue的生命周期和计算属性

目录生命周期钩子函数Vue中render函数和template的区别vue的计算属性计算属性和methods的区别计算属性的get和set方法购物车案例生命周期生命周期:对象从创建到销毁的过程钩子函数:在某一特定的时刻,自动被触发的函数被钩子函数钩子函数new Vue({ el: template: render(){} data: methods: beforeCreate(){}created(){}beforeMou...

2021-12-26 19:50:08 743

原创 vue的事件处理,$set的用法和表单元素处理修饰符

目录事件处理事件注册事件传参event阻止事件冒泡阻止默认事件捕获事件.capture事件修饰符按键修饰符$set用法set操作数组$set操作对象$set操作数组对象表单元素处理表单修饰符事件处理事件注册事件注册: 语法: v-on:事件名称 = "事件函数/表达式" 简写 @事件名称 = ...

2021-12-22 22:31:13 1540

原创 Vue的系统指令

目录v-textv-html{{}},v-text,v-html的优缺点v-on事件绑定v-oncev-if条件渲染v-show(条件展示)v-if和v-show区别:v-modelv-bind动态类名class动态样式stylev-forv-for遍历时key的作用指令:采用v- 开始的,一般称之为指令.指令通常在属性中-v-text <script src="./vue.js"></script>&...

2021-12-20 22:17:07 916 2

原创 初识vue的使用和设计模式

目录vue的基本介绍什么是vue?为什么使用vue?vue优点缺点对于Vue是一套渐进式框架的理解(面试题)?SPA(单页面应用)相对复杂说说你对 SPA 单页面的理解,它的优缺点分别是什么?vue的下载及引入练习vue的使用实例化vue定义数据和方法设计模式mvc设计模式MVVM设计模式vue的基本介绍什么是vue?1.渐进式javascript框架2.作者:尤雨溪 个人开发3.Vue (读音 /vjuː/,类似于 ..

2021-12-20 22:02:53 1255

原创 es6模块化,websocket和mvc

目录es6模块化使用es6模块化步骤:exportes6模块化语法有三种:引入运行调试上面定义的模块文件:websocketsocket.io模块webSocket的常用方法1.webSocket2.io3.on4.emit5.join6.to群聊编写点对点通信MVCes6模块化使用es6模块化步骤:(1) 使用export暴露数据(2) 使用import引入模块(3) 在html中引入js文件,注意为script.

2021-12-19 20:52:42 1145

原创 原生ajax和Jquery的ajax

目录原生ajax传统请求(同步方式)的问题Ajax优势和作用Ajax请求与传统请求的区别:ajax原理(方法,属性 )XMLHttpRequestopensend属性readyStatetatusresponseText事件ajax实现步骤ajax的get和post传参getzhuce.html文件代码如下:postJquery之Ajaxgetpostajax封装ajax原生ajaxAsynchronou..

2021-12-19 20:35:16 1743

原创 接口开发规范(RESTful api)和token(令牌),md5使用

目录优点:常用方法规范路由如何定义根据RESTful 进行接口开发接口文档组成Token使用什么是JWT? 【了解】token的使用规则本地客户端(浏览器是常见客户之一 )存储技术有三种:【重点】使用步骤uuid和md5API: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。RESTful规范,是目前一种比较流行的互联网软件设计规.

2021-12-19 20:06:28 2748

原创 promise与异步,async函数,async函数模块化封装数据库

目录promise与异步同步和异步的不同同步异步回调函数promisePromise的特点:promise状态promise对象方法thencatchpromise链式调用Promise.all()并发方法:async函数async函数基本用法用async函数模块化封装数据库promise与异步Promise是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理。同步和异步的不同同步当前调用发出之后在没有得到结.

2021-12-19 19:30:49 1416

原创 文件上传,cookie和session,ejs和express脚手架的使用

目录项目开发流程文件上传前端后端服务器处理完毕响应结果cookie使用为什么要使用cookie、session?介绍cookie特点cookie实现原理cookie-parser下载引入并开启cookie功能设置cookie获取cookiesession使用介绍session特点session与cookie的联系:实现原理cookie-session下载引入并开启session功能设置Session数据访问.

2021-12-13 22:01:03 1127

原创 web服务器的搭建方法(nodejs,express)和中间件的使用

目录Nodejs创建web服务器(不常用)创建服务器步骤搭建过程中需要的Express框架开发基本信息express的安装和使用初始化项目并安装express初体验:express创建web服务器express中的app对象1.app.get( 路径,兼听函数 )2.app.post(路径,兼听函数 )3. app.all(路径,兼听函数 )express的response对象1. res.send( 字符串|对象 )。2.res.sendF.

2021-12-13 21:29:54 2614

原创 计算机前端知识(客户端,url,http)

目录应用程序从架构上分为C/S,B/S架构客户端和服务端什么是上网互联网上的服务(客户端与服务器端的一次请求流程)url地址通信协议服务器名称(主机名)端口号路径参数域名与ip的关系IP域名互联网传输协议互联网中的传输协议什么是HTTP协议?http与https的区别?交互模型(请求与响应)HTTP协议的工作过程(原理)?http协议的组成请求消息的组成响应消息组成请求方法http协议常见状态码应用程序从

2021-12-13 20:48:57 2974

原创 数据库Mysql介绍和sql查询语言和node操作mysql

目录什么是数据库?常见数据库【重点】存储数据的方式mysql安装mysql数据库基础概念数据可视化工具连接mysql数据库的两种方式【重点】:常见的数据类型设计表的规则备份与还原【重点】SQL查询语言SQL的主要内容增删改查【重点】添加数据删除数据更新数据查询数据其它子句where 条件order by排序group by分组查询、聚合查询limitjoin联表查询【重点】什么是数据库?数据库(databa.

2021-12-06 21:34:53 1388

原创 nodejs的模块系统和npm和包()的用法

目录一、模块系统1.1 模块化介绍1.1.1 传统开发的问题1.1.1 概述1.1.2 nodejs的模块化分类1.2. Commonjs简述1.2.1 组成1.2.2 定义规范的好处1.3 模块的种类1.4 nodejs自定义模块1.4.1 介绍ndoejs自定义模块的语法(commonjs):【重点】自定义模块js1.4.2 定义、使用自定义模块文件的步骤1.4.3 module.exports与exports的区别1.4.4练习(去除空.

2021-11-26 21:55:26 1813

原创 认识Node和文件系统(读写,删除等)的操作

目录一、Node简介1.1 什么是Node.js1.2 为什么学习Node.js1.3 Node.js简史1.4 Node.js的特点【重点】1.5 Node与JavaScript之间的区别【重点】二、Node安装2.1 下载与安装2.2 第一个nodejs程序2.3nodejs运行程序的方法三、命令行与cmd3.1 cmd和命令介绍3.2 打开cmd(打DOS小窗)的三种方法【重点】3.3 常用DOS命令【重点】3.4 使用技巧【重点】.

2021-11-26 20:53:16 1786

原创 认识ECMASCript6(扩展运算符,函数扩展,类class)

目录一,扩展运算符(spread)1.1 函数传参1.2 实现浅拷贝1.3数组合并/伪数组转数组1.4展开对象小技巧( 加薪优化 )1.5 rest参数(剩余参数)【重点】二、函数扩展2.1 箭头函数的语法【重点】2.1箭头函数的特点【重点】2.1.1箭头函数不同于一般函数:2.1.2、箭头函数的简写形式:2.1.3、箭头函数的this指向2.2 箭头函数不适用的场景2.3 函数形参默认值三、类class3.1 面向对象编程3.1.1 概念

2021-11-24 20:42:10 1137

原创 初认识ECMASCript6(let,数据类型,数据结构,运算符)

目录一,ECMASCript6简介ES6与ES5:ECMASCript与JavaScript:Javascript遗留问题ECMAScript6历史版本二,let和const命令2.1 let命令2.1.1 基础用法2.1.2 let命令特点【重点】let应用2.2 const命令2.2.1 基础用法2.2.2 const特点:【重点】三、数据类型3.1字符串扩展3.1.1模板字符串的特点:【重点】3.1.2 新增方法startsWit

2021-11-23 21:11:55 2134

初识js变量类型.md

初识js变量类型.md

2021-09-07

空空如也

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

TA关注的人

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