自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript中的var,let,const声明变量的区别

但是这个限制只适用于指向变量的引用,如果const变量,引用的是一个对象,那么修改这个对象内部的属性并不会违反const的限制。1.作用域:let声明的范围是块作用域。(块作用域是函数作用域的子集,因此适用于var的作用域限制同样适用于let)3.与var关键字不同,使用let在全局作用域中声明的变量不会成为window对象的属性(var声明的变量则会)2.声明提升:使用var声明的变量会自动提升到函数作用域顶部。原因:let声明的变量在作用域中不会被提升。1作用域:与let相同,都是块作用域。

2023-10-23 11:41:14 200

原创 MySQL - 替换字段中的某个字符串

sql:update driver set driverName=REPLACE(driverName,'-修改','');sql语法: UPDATE 表名 SET 字段名=replace(字段名, ‘被替换字符串’, ‘用来替换的字符串’);sql函数:replace(obj, search, replace_str)

2023-10-17 14:06:35 670

原创 vue3中的单文件组件<script setup>详解

全局注册的自定义指令将以符合预期的方式工作,且本地注册的指令可以直接在模板中使用,就像上文所提及的组件一样。必须以 vNameOfDirective 的形式来命名本地自定义指令,以使得它们可以直接在模板中使用// 在元素上做些操作// 导入的指令同样能够工作,并且能够通过重命名来使其符合命名规范

2023-10-16 11:23:13 1063

原创 Vue中的computed

计算属性可用于快速计算视图(View)中显示的属性。这些计算将被缓存,并且只在需要时更新。computed设置的初衷是能够解决复杂的计算,而不是直接在模板字符串里进行运算。data: {},// 计算属性的 getter// `this` 指向 vm 实例})在这里相信大家会发现,这个computed和method的功能一样,也是一个函数;对的,我们用method也可以实现这种效果。/* 直接对函数进行调用*/data: {},methods: {})

2023-10-13 18:15:27 227

原创 JS &&(与运算)详解

逻辑运算又称布尔代数,就是布尔值(true 和 false)的“算数”运算。逻辑运算符包括:逻辑与&&、逻辑或||和逻辑非!。

2023-10-13 15:07:16 54

原创 Vue 路由守卫

如下,判断to.path当前将要进入的路径是否为登录或注册,如果是就执行next(),展示当前界面。你可以使用 router.beforeEach 注册一个全局前置守卫,当一个导航触发时,就会异步执行这个回调函数。正如其名, vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。时候的一些钩子,当从一个页面跳转到另一个页面时,可以在跳转前、中、后做一些事情。from:当前导航正要离开的路由,也是一个路由对象。next:可选,是一个方法,直接进入下一个路由。from:从哪个路由离开。

2023-10-13 14:37:50 55

原创 vue路由中的next()

注意:next('/logon')不是说直接去/logon'路由,而是中断(VUE中的中断就是此时不会执行router.afterEach(() => {})这一次路由守卫的操作,又进入一次路由守卫,就像嵌套一样,一层路由守卫,然后又是一层路由守卫,此时路由守卫进入到第二层时,to.path已经不是/home了,这个时候才执行next()放行操作。因此你还需要确保在当addRoutes()已经完成时,所执行到的这一次beforeEach((to, from, next)中有一个正确的next()方向出口。

2023-10-13 14:07:32 2296 2

原创 vue-cookies使用及说明

获取所有 cookie name,以数组形式返回。检查某个 cookie name是否存在。获取一个cookie。设置一个cookie。删除一个cookie。

2023-10-12 14:44:02 799

原创 Vuex 学习

对象写法中的每一个对象的第一个参数对应计算属性中的方法名,可以不加引号,在模板调用时使用,第二个参数对应state中的属性,必须加 引号 ,数组写法,每个元素对应state中的属性,必须加 引号,模板解析时,直接 {{sum}} 和{{school}} 即可。4. vuex的执行顺序是,this.$store.dispatch()触发 actions中的方法,acitons中的方法触发mutations中的方法,mutations中的方法操作state中的数据。如下图的三种写法,效果是一样的。

2023-10-11 17:21:57 39

原创 el-form的model、prop属性和表单校验等详解

Vue 的 el-form 提供了表单校验功能, :rules 属性设置校验规则,并通过 el-form-item 的 prop 属性绑定校验规则。组件封装,让前端校验更方便。具体使用过程中,有几个容易出错的地方,本文来整理一下。每一个坑都是笔者亲自趟过的,写完本文后,以后应该不会再踏入相同的坑。el-form 的 model 属性el-form 的 model 属性是用来指定表单使用的数据的,虽然 el-form 指定了 model 对象,但是,理论上,vue 并没有限制 el-input 绑定的数据,

2023-10-11 15:29:17 3526 1

原创 vue3 defineEmits的使用

2、使用defineEmits会返回一个方法,使用一个变量emits(变量名随意)去接收。3、通过子组件事件修改变量值,同时将值传递给父组件,对父组件的变量进行赋值。3、在子组件要触发的方法中,调用emits并传入发射给父组件的方法以及参数。1、在子组件中调用defineEmits并定义要发射给父组件的方法。以下代码和内容的使用都是在vue3的setup中,未使用TS。2、在子组件中定义+1和-1方法,以及一个变量。3、defineEmits API 使用说明。1、在父组件中定义一个变量。

2023-10-10 17:59:23 668

原创 jsencrypt加密解密

import { encrypt, decrypt } from '@/utils/jsencrypt'//rememberMe-password加密。// 密钥对生成 http://web.chacuo.net/netrsakeypair;this.loginForm.password : decrypt(password),//取出时解密。encryptor.setPublicKey(publicKey) // 设置公钥。const publicKey = '',//生成的公钥。

2023-10-10 14:40:32 629

原创 Java 数据库连接池Druid 的介绍

Java 数据库连接池Druid 的介绍,Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。DruidDataSource 高效可管理的数据库连接池。

2023-10-09 17:58:29 720

原创 mybatis执行自定义sql时,在执行最后多出现了一个limit的原因及解决方法

2. 如果没有开启springboot分页, 这个时候只有mybaties-plus分页插件起作用, 但是mybats-plus分页插件有个坑, 它是放在threadlocal中, 当线程池中线程复用时, 可能分页对象没有清除。但是项目中配置了springboot的分页插件,只要自定义的sql中有pageSize和pageNum参数值,就会在执行之后自动加上limit, 这样就造成了两个limit ,导致sql报错。在执行sql的时候,使用了自定义的分页, sql会自动拼接limit。

2023-09-21 15:27:22 2294

原创 Underscore.js

Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能,创建快速索引, 强类型相等测试, 等等.

2023-09-15 15:34:23 92

原创 构造树型结构数据

【代码】构造树型结构数据。

2023-09-06 18:00:03 48

原创 表达式前面加 ; 分号的作用

这是避免代码在合并压缩时产生错误,所以在代码开始部分就先写上;防止多文件集成成一个文件后 前面的文件忘记写;

2023-09-06 17:57:51 51

原创 解构赋值详解

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。我的理解是解析对象的解构,然后取出值的过程。es6中对变量的赋值遵循一个规则,只要左右两边的模式相同,就可以进行合法赋值。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。解构对象时会查找原型链(如果属性不在对象自身,将从原型链中查找)可以从一个对象中提取变量并赋值给和对象属性名不同的新的变量名。没有解构赋值的情况下,交换两个变量需要一个临时变量。在一个解构表达式中可以交换两个变量的值。

2023-09-06 16:44:21 44

原创 展开语法详解

如果想将数组元素迭代为函数参数,一般使用Function.prototype.apply 的方式进行调用。所有参数都可以通过展开语法来传值,也不限制多次使用展开语法。在函数调用时使用展开语法。等价于apply的方式。

2023-09-06 15:59:02 97

原创 可选链语法

attr获取object属性attr前先判断object是否存在,在object后面加上?,这是javaScript的可选链语法.这句代码的意思是,如果object恒等于null或者undefined时,取值为undefined,否则为object.attr。双问号语法,在JavaScript中的意思是,如果?左边的值为null或undefined,则取?void是一元运算符,void 0的唯一结果是undefined。undefined是可变的,void 0是不可变的.

2023-09-06 15:23:34 40

原创 new Map()方法

person.has('name') // 查询是否有对应键值 返回值为布尔值。person.set('name':"李四") // 创建普通键值对。es6的Map()构造函数突破了对象的键值只能为字符串的限制,例如。person.delete(key) // 删除对应的键值对。person.set(1:'一') // 创建数字型键值对。person.get('name') // 查询对应键的值。person.clear() // 清楚所有键值对。person.size() // 查询键值对数量。

2023-09-06 15:18:34 194

原创 简写赋值形式

简写赋值

2023-09-06 15:14:54 40

原创 concat()方法

/ 将data空数组使用concat()方法连接department。在接口中获取数据时,想获取数组里面嵌套另外一个数组的数据的时候,需要使用forEach遍历,使用concat连接空数组。let data = [] // 定义一个空数组。该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。连接两个字符串:var str1 = "Hello ";1. concat() 方法用于连接两个或多个字符串。2. 用于连接两个或多个数组。3、工作中遇到的案例。

2023-09-06 15:10:01 1503

原创 短路运算符

注意:0、 ''(空字符串) 、 null、undefined 、 NaN会判断为假,其余为真。如果表达式1的值为真,则返回表达式1。如果表达式1的值为假,则返回表达式2。语法:表达式1 || 表达式2。

2023-09-06 15:02:28 35

原创 数字千分位格式化

【代码】数字千分位格式化。

2023-09-06 14:05:20 48

原创 重置表单reset

重置表单。

2023-08-30 16:19:06 567

原创 获取时间戳精确到秒,13位

在开发的中需要精确到秒的时候,推荐使用 第1种方法,也需要除以1000才行,如果是需要时间戳毫秒的推荐 +new Date() 和 new Date().getTime();//输出 1591669256000 13位。//输出 1591669961203 13位。//输出 1591670037603 13位。//输出 1591670068833 13位。2.获取时间戳精确到毫秒,13位。3.获取时间戳精确到毫秒,13位。4.获取时间戳精确到毫秒,13位。5.获取时间戳精确到毫秒,13位。

2023-08-30 16:10:57 890

原创 location.hash和history.pushState()

如果激活的历史实体是由history.pushState()创建的,或者是被history.replaceState()改变过,那popstate事件的state属性(即e.state)会包含一个该激活的历史实体的sate对象的副本;总之,history.pushState()会添加一个历史实体并激活它(也就是现在的页面变成新添加的历史实体了),但暂时还是显示原来的历史实体,只有当再次回到这个页面时(包括刷新,但是要注意刷新不会触发popstate事件哦,只有前进和后退会触发)才会显示新添加的历史实体。

2023-08-30 16:03:11 152

原创 Date 对象转换——toString、toTimeString、toDateString、toUTCString、toLocaleString()

定义和用法:toLocaleTimeString() 方法可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。定义和用法:toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。返回值:dateObject 的时间部分的字符串表示,以本地时间区表示,并根据本地规则格式化。返回值:dateObject 的日期部分的字符串表示,以本地时间区表示,并根据本地规则格式化。返回值:dateObject 的字符串表示,使用本地时间表示。

2023-08-30 15:56:43 726

原创 优雅实现时间格式化

【代码】优雅实现时间格式化。

2023-08-30 15:49:17 40

原创 文字后面显示星号

文字后面显示红色星号

2023-08-30 15:35:57 231

原创 工具类 ajax

【代码】工具类 ajax。

2023-08-30 15:19:59 81

原创 3种JavaScript 数组转换为字符串的方法

将 JavaScript 数组转换为字符串的一种方法是在其后连接一个空字符串。02.使用 Array.prototype.toString 方法。03.使用 Array.prototype.join 方法。01.将字符串连接到数组。

2023-08-30 15:17:50 266

原创 JS 获取当前页面 URL

【代码】JS 获取当前页面 URL。

2023-08-30 15:11:56 338

原创 JS向数组中添加元素的方式

JS向数组中添加元素的方式

2023-08-30 15:08:51 3496

原创 遍历对象的方式

返回一个数组,包含对象自身的所有属性(包含不可枚举属性) 遍历可以获取key和value。第三种:使用Object.getOwnPropertyNames(obj)一个表示给定对象的所有可枚举属性的字符串数组。输出结果: obj对象的key组成的数组。obj:要返回其枚举自身属性的对象。第一种: for......in。

2023-08-28 15:12:21 71

原创 如何判断服务器在国内还是海外?

在已知网站域名的情况下,可以通过ping网站域名来获得服务器的IP,当然有些网站是做了禁ping的,不知道IP的情况下是无法判断是国内还是海外的机器。比如咱们已知晓IP是103.219.30.*可以直接百度IP,即可知道这个IP端是属于杭州的 BGP线路。Ⅰ、已知晓网站或是已知晓IP,如何判断该服务器是国内的还是海外的呢?

2023-08-28 15:01:50 1054

原创 判断某个字符串或数字是否在数组中includes()

includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

2023-08-28 14:58:43 392

原创 js四舍五入

js四舍五入

2023-08-28 14:15:47 2944

原创 forEach() 和 map() 的区别

forEach() 和 map() 的区别

2023-08-28 11:40:08 60

空空如也

空空如也

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

TA关注的人

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