自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js 数组的高级用法

将值转换为数组const newArray = (value) => (Array.isArray(value) ? value : [value]);castArray(2); // [2] castArray([2,5]); // [2,5]检查数组是否为空const isEmpty = (arr) => !Array.isArray(arr) || arr.length === 0;isEmpty([]); // trueisEmpty([3,6]); // f.

2021-12-24 09:59:27 557

原创 微信小程序 列表局部刷新以及二次支付倒计时(兼容苹果和安卓)

项目中1.实现订单二次支付功能用户已下单用户未支付代码// replace(/-/g, '/') 时间兼容 苹果不支持- 只支持/var m, s;let {createTime} = this.data.orderData, //下单时间 currentTime = (new Date()).getTime(), //当前时间的毫秒值 createTime1 = (new Date(createTime.replace(/-/g, '/')).getTime()) + 1

2021-12-23 10:55:06 1827

原创 前端 模块化的深入理解及其特性

模块是概念?遵循确定的规范(规则)将其文件中的内容拆分到几个互相独立的文件。特性:(1)可复用性(2)可组合性(3)中心化(4)独立性模块化规范标准类型CommonJs 同步加载模块AMD 异步加载模块 require.jsCMD 整合CommonJs和 AMD sea.jsUMD 整合CommonJs和 AMD(核心思想):利用立即执行函数根据环境来判断需要的参数类型AMD和CMD的两个主要区别(1)AMD 异步加载模块;CMD可以通过同步方式,也可以通.

2021-12-07 21:12:46 255

原创 2021面试题02 HTTP与HTTPS

区别https 协议需要 ca 证书,费用较高。http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl 加密传输协议http 的连接是无状态的;https协议是由 ssl+http 协议构建的可进行加密传 输、身份认证的网络协议,比 http 协议安全https 的 ssl 加密是在传输层实现的https 协议的主要作用是:建立一个信息安全通道,来确保数组的传输,确保网站的真实 性。...

2021-12-03 08:54:42 122

原创 2021面试题01----GET与POST的区别

post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)post发送的数据更大(get有url长度限制)post能发送更多的数据类型(get只能发送ASCII字符)post比get慢post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作get请求的是静态资源,则会缓存,如果是数据,则不会缓存我个人在开发接口的时候也会注意,将简单的查询请求使用get方法,其他增、删、改、复杂的查询请求都可以使用post,但不会全部使用post。...

2021-12-03 08:34:50 1190

原创 vue3.0 实例方法$watch

1. 作用:(1)侦听组件实例上的响应式 property 或函数计算结果的变化(2)回调函数得到的参数为新值和旧值2. 如何使用?data() { return { num: 1, num2: 2, num3: { num4: 3, num5: 4 } }},created() { // 顶层property 名 this.$watch('num', (newVal, oldVal) => {}) // 监视单个

2021-12-01 09:06:12 1115

原创 vue3.0 中如何监听和侦测变量

仔细查看以下代码export default { props: { name: String }, setup(props) { console.log(props.name) }}此 props 对象是响应式的——即在传入新的 props 时会对其进行更新,通过使用 watchEffect 或 watch 进行观测和响应:使用watchEffect 或 watchexport default { props: { name: String.

2021-11-30 17:35:02 1930

原创 数组中哪些方法会改变原数组?

会改变原数组 :pop push unshift shift reverse sort splice不改变原数组:concat every some filter map slice

2021-11-27 11:24:30 566

原创 css 文本省略(单行/多行/英文不换行)

单行文本省略 width:200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;多行文本省略 width:200px; white-space: normal; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; .

2021-11-24 15:08:04 298

原创 js 原型链(高阶)

实例对象的隐式原型(proto)的值为其对应构造函数的显式原型(prototype)的值原型链:(隐式原型链)访问一个对象的属性时,先在自身属性中查找,找到返回;如果没有,再沿着_proto_这条链向上查找,找到返回;如果最终没找到,返回undefinedObject的原型对象是原型链尽头 _proto_为null函数的显示原型指向的对象默认是空Objec t实例对象(但Object不满足)...

2021-11-23 14:50:46 528

原创 js 进程和线程(高阶)

进程和线程 概念进程:程序的一次执行,它占有一片独有的内存空间线程:是进程内的一个独立执行单元,是程序执行的一个完整流程,是CPU的最小的调度单元单线程和多线程 概念单线程:一个进程内有一个线程多线程:一个进程内有多个线程相关知识:应用程序必须运行在某个进程的某个线程上一个进程中至少有一个运行的线程:主线程,进程启动后自动创建一个进程中也可以同时运行多个线程,即程序是多线程运行的一个进程内的数据可以供其中的多个线程直接共享多个进程之间的数据是不能直接共享的线程池:保存多个..

2021-11-23 14:47:45 652

原创 js 闭包(高阶)

什么是闭包?内部函数可以引用外部函数的变量,就是闭包闭包产生的条件?(1)使用嵌套函数(2)内部函数可以引用外部函数的变量闭包的作用?(1)使用函数内部的变量在函数执行完后,仍然存活在内存中(延长了局部变量的生命周期)函数执行完后,函数内部声明的变量是否还存在?一般不存在 存在于闭包中的变量才会存在(2)让函数外部可以操作(读写)函数内部的数据(函数/变量)在函数外部能直接访问函数内部的变量吗?不能 但是通过闭包可以操作它闭包的生命周期?产生:在嵌套内部函数定义执行时就产生了销.

2021-11-22 21:53:25 473

原创 js 为什么要将变量初始值赋值为null

var b=null b=[1,2] b=null初始值赋值为null, 表示将要转为Object类型的数据之后将b赋值为null 使用垃圾回收机制回收

2021-11-19 21:47:44 1491

原创 js 判断数据类型

判断数据类型 方法1.typeof可以判断 undefined number String Boolen function不可以判断 Object与null Object与array2.instanceof判断对象的具体类型3.===可以判断 undefined null

2021-11-19 21:38:30 203

原创 uniapp跨页面 跨组件的通讯方法

uni.emit、uni.emit、 uni.emit、uni.on 、 uni.once、uni.once 、uni.once、uni.off触发的事件都是 App 全局级别的,跨任意组件,页面,nvue,vue 等使用时,注意及时销毁事件监听,比如,页面 onLoad 里边 uni.on注册监听,onUnload里边uni.on 注册监听,onUnload 里边 uni.on注册监听,onUnload里边uni.off 移除,或者一次性的事件,直接使用 uni.$once 监听...

2021-11-18 21:17:18 785

原创 Vite启动后提示Network: use `--host` to expose

找到根目录下的package.json文件 "scripts": { "dev": "vite --host", // 添加 --host "build": "vite build", "serve": "vite preview" },保存之后 重新启动启动项目就看见了

2021-11-16 16:42:38 788

原创 element-plus +vue3.0 的from表单的使用

1.首先在element-plus官方文档from中未说明关于refs的使用2.无法获取this,那么就无法获取refs的使用2.无法获取this,那么就无法获取refs的使用2.无法获取this,那么就无法获取refs3.笔者也是经过一番查询之后,问题得以解决,希望大家不会遇到坑哦4.以下是完整案例<template> <el-form ref="ruleForm" :model="formSate" :rules="rules" label-width="120px" cl

2021-11-16 16:07:16 1559

原创 Git最全命令及远程仓库连接

1.下载Git安装包官网地址:https://git-scm.com/2.安装成功以后 电脑桌面右击点击 git Bash Here3.查看版本git --version4. 查看当前设置git config --list5.设置/修改用户名 邮箱git config --global user.name “yanxiaoxiao”git config --global user.emial “[email protected]”6.分区概念工作区----------缓存区----

2021-11-09 20:58:23 181

原创 微信小程序----Vant Weapp组件库的坑

创建项目cmd 进入项目根目录 执行npm init -y 一直回车勾选微信小程序开发工具 详情-本地配置-npm 构建npm在app.json中 "usingComponents": { "van-notify": "@vant/weapp/notify/index", "van-tag": "@vant/weapp/tag/index", },页面直接使用<van-cell-group inset> <van-cell title="单元.

2021-10-25 15:49:29 8488 2

原创 微信小程序引入echarts 过大最佳解决方案

引入echarts以后,单echarts代码包已经973KB,如何能压缩大小?使用自定义的方法 压缩文件大小 官网地址可以根据实际项目情况选择用到的echarts组件进行构建,如下图所示:选择完成以后,点击【下载】就可以下载我们自定义构建的echart文件注:勾选代码压缩以后下载的文件名称为:echarts.min.js未勾选代码压缩以后下载的文件名称为:echarts.js将下载的echarts.min.js重命名为echarts.js替换项目ec-canvas目录下的echart.

2021-10-21 17:37:46 6160 8

原创 vue 组件间通信方式

1.父—子子组件使用 props 接受参数// 父组件<template> <div id="app"> <users v-bind:users="users"></users>//前者自定义名称便于子组件调用,后者要传递数据名 </div></template>//子组件<template> <div class="hello"></div></tem

2021-10-20 12:02:16 84

原创 微信小程序 动画效果切换菜单

<view class="box" style="position:relative;"> <view class="move-item" style="transform:translateX({{transX}}px);width:{{width}}px;"></view> <view class="item {{active===index?'active':''}}" wx:for="{{list}}" key='*this' bindtap=...

2021-10-19 16:54:17 894

原创 vue3.0 sass安装及使用报错问题

1. 错误信息: Error: PostCSS received undefined instead of CSS string解决办法:执行 npm install node-sass --save-dev2. 错误信息:Node Sass version 6.0.1 is incompatible with ^4.0.0 || ^5.0.0.node-sass 6.0.1版本与^4.0.0 || ^5.0.0不兼容1、先卸载之前版本的node-sassnpm uninstall node-sa

2021-10-18 15:57:01 289

原创 前端跨域解决办法

1.CORS(跨域资源共享)> 需要前后端配合,比较麻烦,不建议采纳2.JSONP需要前端后端配合,只能解决GET跨域问题,无法解决全部请求跨域问题3.代理 个人建议(最优,最合理)nginx 学习成本比较高建议使用vue-clivue.config.js文件写:配置一个代理 module.exports = { devServer: { proxy: 'http://localhost:4000' }}配置多个代理module.exports = {

2021-10-16 20:44:16 61

原创 微信小程序--animate.css

地址:https://github.com/animate-css/animate.css/blob/main/animate.css1.将下载的文件放入小程序根目录utils文件夹下//在app.wxss下引用@import "/utils/animate.wxss";2.修改animate.wxss:root修改为page3.使用<view class="animate__animated animate__bounce">效果展示</view>4.复制动画

2021-10-09 16:50:16 127

原创 前端数据模拟---mockjs

1.安装npm install mockjs2.创建mock 文件夹,创建index.jsimport Mock from ‘mockjs’ //引入设置请求时间Mock.setup({timeout: 400})请求接口Mock.mock(“/user/userinfo”,“get”,() => {return {name: ‘张三’,age: 23}})3.main.js中引入import ‘./mock/index.js’4.页面使用let api =

2021-09-27 17:09:13 73

原创 vue3.0--知识总结

setup函数(是组合api的表演舞台)ref函数 (基本数据类型)实现数据响应式reactive函数ref函数与reactive函数的区别vue2.x 响应式与vue3.0 响应式computed 计算属性watch 监听属性hook 函数toRef其他组合api响应式数据判断新的组件1.setup函数的返回值:若返回一个对象,则对象中的属性、方法、在模板中均可以直接使用(常用这种写法)若返回一个渲染函数,则可以自定义渲染内容(了解)注意:尽量不要与vu.

2021-09-24 16:40:00 126

原创 flex 实现上下固定中间可以滚动布局

.boxs { display: flex; height: 100%; flex-direction: column}.footer,.nave { width: 100%; height: 50px; text-align: center; line-height: 50px; background-color: #999;}.intro { flex: 1; background-color:#fff; overflow: scroll;}

2021-09-23 17:07:17 322

原创 scroll-view实现滑动效果

.box { width: 100%; display: flex; align-items: center; justify-content: space-between;}.bannerWrap { width: 85%; height: 240px; flex-direction: column; display: -webkit-box;}.imgItem { height: 240px; margin-right: 10rpx;}.left.

2021-09-23 17:01:19 320

原创 Vite创建vue.3.0项目

步骤:npm init vite-app vue3.0-project(自定义项目名称)cd vue3.0-projectnpm installnpm run dev

2021-09-22 22:16:39 67

原创 keep-alive 两个属性

Include 可以被缓存的组件Exclude不能被缓存的组件建议:两者不要同时使用

2021-09-11 22:36:17 63

原创 keep-alive

keep-alive 实现组件缓存前提条件 使用了keep-alive1.activated. 当组件被激活时会执行,不会触发created生命周期(因为组件没有被重新创建)注意:当组件第一次被创建时既会执行created生命周期,也会执行activated生命周期2.deactivated 当组件被缓存时执行...

2021-09-11 22:28:31 363

原创 deep样式穿透

Vue2.0 中使用/deep/ .titleVue3.0 中使用:deep(.title)

2021-09-10 22:27:56 511

原创 微信小程序 富文本解析利器(mp-html 兼容性最好的)

一.在项目中构建npm详细地址:https://jin-yufeng.gitee.io/mp-html/#/1.在项目根目录 打开命令窗口(执行npm init)2.再npm install3.最后npm install mp-html二.在小程序 配置中 勾选npm配置 点击工具栏开始构建npm三.使用mp-html// 引入组件1.{ "usingComponents": { "mp-html": "mp-html" } }// 使用组件2.<mp-html content=

2021-09-09 17:29:57 1149

原创 TypeError: Class constructor ServeCommand cannot be invoked without ‘new‘

解决办法:需要更新webpack-cli 只要输入npm install webpack-cli

2021-09-04 10:48:43 4265 4

原创 css 各种三角形

.tag,.tag4,.tag3,.tag2{ width: 0; height: 0; border: 100rpx solid;}.tag{ border-left-color: red; border-right-color: transparent; border-bottom-color:transparent; border-top-color: transparent;}.tag2{ border-left-color: transparent; .

2021-08-25 15:26:06 64

原创 微信小程序 数字文本在ios上的表现和安卓不一致

font-family: -apple-system,Helvetica,sans-serif;font-feature-settings:“tnum” 1;

2021-08-25 10:57:23 488

原创 js---倒计时(案例)

1.获取毫秒值的方法(1)+new Date()(2)let date = new Date() date.getTime() date.valueOf() (3)h5新增方法 Date.now()2.案例// 定时器 每秒执行一次 setInterval(() => { let countTime = this.countDown('2021-08-25 16:52:35') this.setData({ countTime

2021-08-24 16:17:04 82

原创 js 常用的正则验证

1.用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;2.密码强度正则//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符var pPattern = /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;3.Email正则var ePattern = /^([A-Za-z0-9_-

2021-08-24 14:58:59 304

原创 js数组常用的方法

1.判断数组的元素任一项符合 somelet obj = [ { id: 12, name: 'tom' }, { id: 2, name: 'lin' }, { id: 24, name: 'sun' },]const newObj = obj.some(item => { return item.id > 22})console.log('Obj', newObj)2.判断数组的元素全部符合条件 everylet obj = [ { id

2021-08-24 14:46:07 366

空空如也

空空如也

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

TA关注的人

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