- 博客(267)
- 资源 (16)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 支付接口签名算法
1.把接受的对象枚举成数组2.利用数据sort 方法对数组进行排序3.数组添加成员,加入商户密匙4.生成tokenconst getSign = obj => { /* * 签名算法 * * 由于密钥不应该在小程序内出现,因此生产环境下的小程序不应该包含此参数 */ //把对象枚举成数组 let keys = Object.keys(obj) //对象进行排序 keys.sort() let params = [] // 遍历等于
2021-01-16 15:29:48
388
1
原创 深拷贝浅拷贝的区别?如何实现一个深拷贝
深拷贝开辟一个新的栈,两个对象属完成相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。浅拷贝只复制属性指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存,修改对象属性会影响原对象。从上图发现,浅拷贝和深拷贝都创建出一个新的对象,但在复制对象属性的时候,行为就不一样。如果属性是基本类型,拷贝的就是基本类型的值。深拷贝是递归拷贝深层次,属性为对象时,深拷贝是新开栈,两个对象指向不同的地址。浅拷贝是拷贝一层,属性为对象时,浅拷贝是复制,两个对象指向同一个地址。
2023-01-02 21:29:37
439
1
原创 说说flexbox(弹性盒布局模型),以及适用场景?
简称flex,意为”弹性布局”,可以简便、完整、响应式地实现各种页面布局采用Flex布局的元素,称为flex容器container它的所有子元素自动成为容器成员,称为flex项目item容器中默认存在两条轴,主轴和交叉轴,呈90度关系。项目默认沿主轴排列,通过来决定主轴的方向每根轴都有起点和终点,这对于元素的对齐非常重要。
2022-11-07 22:25:01
227
原创 说说em/px/rem/vh/vw区别?
传统的项目开发中,我们只会用到px、%、em这几个单位,它可以适用于大部分的项目开发,且拥有比较良好的兼容性从CSS3开始,浏览器对计量单位的支持又提升到了另外一个境界,新增了rem、vh、vw、vm等一些新的计量单位利用这些新的单位开发出比较良好的响应式页面,适应多种不同分辨率的终端,包括移动设备等px:绝对单位,页面按精确像素展示em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值rem:相对单位,可理解为root em。
2022-11-07 22:20:12
166
原创 说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?
CSS像素(css pixel, px): 适用于web编程,在 CSS 中以 px 为后缀,是一个长度单位在 CSS 规范中,长度单位可以分为两类,绝对单位以及相对单位px是一个相对单位,相对的是设备像素(device pixel)一般情况,页面缩放比为1,1个CSS像素等于1个设备独立像素CSS在同一个设备上,每1个 CSS 像素所代表的设备像素是可以变化的(比如调整屏幕的分辨率)在不同的设备之间,每1个 CSS 像素所代表的设备像素是可以变化的(比如两个不同型号的手机)
2022-11-07 22:14:23
227
原创 CSS3新增了哪些新特性?
即层叠样式表(Cascading Style Sheets)的简称,是一种标记语言,由浏览器解释执行用来使页面变得更美观。动画这个平常用的也很多,主要是做一个预设的动画。和一些页面交互的动画效果,结果和过渡应该一样,让页面不会那么生硬。background-size属性常用来调整背景图片的大小,主要用于设定图片本身。通常情况,背景都是覆盖整个元素的,利用这个属性可以设定背景颜色或图片的覆盖范围。能够规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色。当我们设置背景图片时,图片是会以左上角对齐,但是是以。
2022-11-07 22:11:35
5008
原创 如果要做优化,CSS提高性能的方法有哪些?
每一个网页都离不开css,但是很多人又认为,css主要是用来完成页面布局的,像一些细节或者优化,就不需要怎么考虑,实际上这种想法是不正确的作为页面渲染和内容展现的重要环节,css影响着用户对整个网站的第一体验因此,在整个产品研发过程中,css性能优化同样需要贯穿全程css实现性能的方式可以从选择器嵌套、属性特性、减少http这三面考虑,同时还要注意css代码的加载顺序。
2022-11-07 22:07:00
163
原创 如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?
基于绝对定位的三栏布局:注意绝对定位的元素脱离文档流,相对于最近的已经定位的祖先元素进行定位。两栏布局实现效果就是将页面分割成左右宽度不等的两列,宽度较小的列设置为固定宽度,剩余宽度由另一列撑满,这里称宽度较小的列父元素为次要布局容器,宽度较大的列父元素为主要布局容器。两栏布局非常常见,往往是以一个定宽栏和一个自适应的栏并排展示存在。在日常布局中,无论是两栏布局还是三栏布局,使用的频率都非常高。文档,蓝色区域为主要内容布局容器,侧边栏为次要内容布局容器。可以说是最好的方案了,代码少,使用简单。
2022-11-07 22:03:29
247
原创 react笔记
项目准备1. 项目介绍本节目标: 了解项目的定位和功能项目功能演示登录、退出首页内容(文章)管理:文章列表、发布文章、修改文章技术React 官方脚手架 create-react-appreact hooks状态管理:mobxUI 组件库:antd v4ajax请求库:axios路由:react-router-dom 以及 history富文本编辑器:react-quillCSS 预编译器:sass2. 项目搭建本节目标: 能够基于脚手架搭建项目基本结构
2022-05-29 17:47:32
562
原创 前端报错 Maximum call stack size exceeded解决办法
分析1,递归函数报错(构造函数进行多次观测挂载observerArray函数和walk函数)2.数组长度太大,造成了栈溢出。于是将Options数组长度减少到1000,也可以引起这种报错具体案例
2022-04-19 14:21:15
4020
原创 uniapp唤起nfc附带Dom
代码地址```bash// 包路径const package_NdefRecord = ‘android.nfc.NdefRecord’;const package_NdefMessage = ‘android.nfc.NdefMessage’;const package_TECH_DISCOVERED = ‘android.nfc.action.TECH_DISCOVERED’;const package_Intent = ‘android.content.Intent’;const pack
2022-02-08 18:01:44
492
原创 npm ERR! A complete log of this run can be found in: npm ERR! /Users/showto/.npm/_logs/2021-10-2
npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\misal\AppData\Roaming\npm-cache_logs\2020-08-06T05_46_39_769Z-debug.log说明:全局脚手架和本地脚手架版本不一样。解决方法:执行 npm install npm@latest -g升级到最新版本(若升级到最新版本还是报错,则还需要再全局更新一下npm,更新后检查npm版本号不会变,内部应该有更新
2021-10-25 13:43:44
737
原创 MacBook最好用的svn
个人感觉在mac上最好用的svn客户端就是cornerstone,公司客户端也统一使用这个sudo spctl --master-disable这条命令作用就是使得mac运行安装任何来源App,不然的话,安装破解的cornerstone会显示文件损坏cornerstone安装包下载处链接:https://pan.baidu.com/s/1mjDKF9I 密码:fa4scornerstone使用链接https://www.jianshu.com/p/7f5c019c528b...
2021-10-25 10:21:38
1082
原创 移动端pc端适配
1、最小尺寸分辨率1024*768(传统17寸显示器),则可以采用940px、960px、或者常用的980px作为最小宽度。简单理解为可视区域最大宽度为600px,即大于600px下不生效。@media screen and (max-width: 600px) {.class {background: #fff;}}简单理解为可视区域最小宽度为900px,即大于900px下生效。@media screen and (min-width: 900px) {.class {backgrou
2021-10-24 12:23:53
836
原创 js获取最后n月
feachData(num){ var myDate = new Date(); myDate.setMonth( myDate.getMonth()-num ); const Y = myDate.getFullYear(); const M = myDate.getMonth()+1; const D = myDate.getDate(); const curDay = Y + ''+ this.fileD(M)...
2021-10-22 15:20:52
60
原创 js身份证校验方法
validIdNumber(code) { const city = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42.
2021-08-25 18:04:56
219
1
原创 小程序跳转外部页面
1.创建页面CommonWebView.vue<template> <view> <web-view :src="url"></web-view> </view></template><script> export default { data() { return { url: '', title: '', } }, onLoad(option) {
2021-08-25 18:03:22
540
原创 marBook2021最新 安装虚拟机配置win10附带全套软件
软件1.百度云地址链接: https://pan.baidu.com/s/1A5pozemR9cjEdDZUa-75jQ 提取码: t2gc环境二维码获取1.本机系统 . 虚拟机win10系统3.先安装虚拟机再安装win10镜像系统把安装后的win10克隆出来4.安装成功...
2021-08-08 22:53:13
398
原创 postman 最新下载地址 百度云!
链接:https://pan.baidu.com/s/1Xh30Q6rfc4XcM3tRIB46tA提取码:10e1复制这段内容后打开百度网盘手机App,操作更方便哦
2021-03-17 09:40:38
2789
原创 重置密码
editUserPwd() { if (!this.account || !this.newPassword || !this.vcode) { this.$message({ message: "请填写正确信息", type: "warning", }); return; } if (this.newPassword.length < 6 || this.newPassword
2021-02-20 13:25:47
211
原创 发送验证码倒计时
downTime() { let time = setInterval(() => { this.time = this.time - 1; if (this.time == 0) { clearInterval(time); this.time_start = false; this.time = 60; } }, 1000); },
2021-02-20 13:23:31
109
原创 js实现判断用户浏览器跳转移动或pc页面
if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) { window.location.href = ""; //手机} else { window.location.href = ""; //电
2021-01-28 19:43:11
504
原创 js冒泡算法
var arr = [5, 4, 3, 2, 1]; for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }console.log(arr);
2021-01-28 10:42:14
115
原创 js对比两数之和是否等于k
var arrNum =[2,3,4,5,67,3,4] function checkSum(nums, k) { for(let i=0; i<nums.length; i++){ if(nums[i]+nums[i+1]==k){ return true } else{ return false ...
2021-01-27 22:32:14
86
原创 查找字符串出现的位置以及次数
var str ='fadsasdoffeeeeoe';var index=str.indexOf('o')var num=0;while(index!=-1){ console.log(index) num++ index=str.indexOf('o',index+1)}
2021-01-27 22:29:59
383
原创 HTTPS实现原理
SSL建立连接过程client向server发送请求https://baidu.com,然后连接到server的443端口,发送的信息主要是随机值1和客户端支持的加密算法。server接收到信息之后给予client响应握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是client发送给server加密算法的子集。随即server给client发送第二个响应报文是数字证书。服务端必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访
2021-01-23 12:15:23
87
原创 HTTP通信传输
客户端输入URL回车,DNS解析域名得到服务器的IP地址,服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。HTTP属于TCP/IP模型中的运用层协议,所以通信的过程其实是对应数据的入栈和出栈。报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接。为什么需要三次握手呢?为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。比如:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了.
2021-01-23 11:59:31
149
原创 什么是HTTPS?
什么是HTTPS?《图解HTTP》这本书中曾提过HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。参考连接:1.https://kamranahmed.info/blog/2016/08/13/http-in-dep
2021-01-23 11:54:33
1032
原创 http与https
一、前言:先来观察这两张图,第一张访问域名http://www.12306.cn,谷歌浏览器提示不安全链接,第二张是https://kyfw.12306.cn/otn/regist/init,浏览器显示安全,为什么会这样子呢?2017年1月发布的Chrome 56浏览器开始把收集密码或信用卡数据的HTTP页面标记为“不安全”,若用户使用2017年10月推出的Chrome 62,带有输入数据的HTTP页面和所有以无痕模式浏览的HTTP页面都会被标记为“不安全”,此外,苹果公司强制所有iOS App在20
2021-01-23 11:01:47
101
原创 写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么
当 Vue 正在更新使用 v-for 渲染的元素列表时,它默认使用“就地更新”的策略。如果数据项的顺序被改变,Vue 将不会移动 DOM。 元素来匹配数据项的顺序,而是就地更新每个元素,并且确保它们在每个索引位置正确渲染。这个类似 Vue 1.x 的 track-by="$index"。这个默认的模式是高效的,但是只适用于不依赖子组件状态或临时 DOM 状态 (例如:表单输入值) 的列表渲染输出。避免对节点「就地复用」需要修改的节点位置没有改变,是内容更新了,这虽然提高了复用性能,但是往往在复.
2021-01-23 10:54:03
129
cropper基本用法.pdf
2020-11-12
学位英语考试语法.pdf
2020-11-12
《计算机网络原理》习题参考答案.pdf
2020-11-12
02323操作系统概论课后习题.doc
2020-11-12
操作系统概论通关宝典,知识点整理
2020-11-12
英语作文模板 (2) (1).docx
2020-11-12
自考郑州大学数据库系统原理实践课作业.docx
2020-11-12
最新软件开发工具实践作业
2020-11-12
郑州大学 c++程序设计实践作业
2020-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人