自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js生成相近色颜色RGB代码

分享一个自己写的小工具,输入一个颜色代码可以得到三个相近色颜色代码<!-- * @Description: * @Author: Zhaihanneng * @Date: 2021-11-18 10:03:45 * @Last Modified by: Zhaihanneng * @LastEditors: Zhaihanneng * @LastEditTime: 2021-11-18 11:55:22--><!DOCTYPE html><html lan

2021-11-18 13:42:11 1941

原创 iframe+vue修改滚动条样式

iframe修改滚动条样式因为用iframe来展示第三方网页,所以无法修改里面的滚动条样式,于是想到获取第三方网页的高度,然后赋值给iframe标签,使iframe高度自适应,然后在最外层放一个div,通过设置div的高度和滚动条样式达到类似效果。<div class="input-box-iframe"> <iframe :src="result" id="iframe" :height="height" width="1000" scrolling="no"

2021-11-09 11:55:06 4076 1

原创 js数组去重

//数组去重 unique(arr) { const res = new Map(); return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1)); },

2021-02-25 09:18:23 183

原创 vue两个异步方法顺序执行

需求:两个异步函数按顺序执行,首先获取第一个异步函数的返回的值,接着在第二个异步函数里面调用方法:先在第一个异步函数里返回一个promise,接着用async和await调用它第一个异步方法:getAllNotice() { let data = { "searchParams": [{ "fieldName": "equipmentId", "operate": "eq", "value": "000000" }], "siz

2021-01-09 15:25:27 16700 4

原创 解决微信小程序text-align-last在ios设备上失效的问题

问题描述:我的样式需要实现文字固定宽度的两端对齐,当我跑在模拟器和安卓设备的时候一切正常,但是跑在苹果设备上就会失效。解决方法:通过after伪类,使得当前行不是最后一行<view class="box">文字居中</view>.box{ width: 200px; text-align: justify;}.box:after{ content: ''; width: 100%; display: inlin

2020-12-25 13:46:01 2030

原创 解决微信小程序swipter-item在ios设备上不显示的问题

问题描述:我的业务中需要用到全屏选项卡,所以使用uniapp的uview中的u-tab-swipter组件,这个组件本质上是轮播图,当我跑在模拟器和安卓设备的时候一切正常,但是跑在苹果设备上只能看到第一个选项卡,切换到其他选项卡就无法显示。解决办法:不要在swipter-item上写style,写在里面的view...

2020-12-25 13:45:15 494

原创 TypeError: Cannot read property ‘$options‘ of undefined解决uniapp中子组件点击事件报错的问题

TypeError: Cannot read property ‘$options’ of undefined解决uniapp中子组件点击事件报错的问题问题描述在uniapp中创建一个子组件,创建完之后发现里面的点击事件会报TypeError: Cannot read property ‘$options’ of undefined,无论是点击事件还是向父组件传值都用不了,在网上也查不到原因,于是决定绕过这个问题,想到了如下几个方法。问题解决使用slot如果只是需要在子组件里的一个元素添加事件,

2020-12-14 10:55:38 5757 1

原创 解决uniapp在小程序中点击返回键传参的问题

实现效果A页面 —点击进入—> B页面B页面 —点击返回键,并传递参数—> A页面实现过程在B页面写一个返回传参的方法returnBack(status){ var pages = getCurrentPages(); var prevPage = pages[pages.length - 2]; //上一个页面 //直接调用上一个页面的setData()方法,把数据存到上一个页面中去 // 上一个页面最后设置userdata prevPage.s

2020-12-02 11:29:04 1493

原创 解决微信小程序canvas层级太高覆盖原生组件问题

解决微信小程序canvas层级太高覆盖原生组件问题我的项目需求是在同一个页面上用echart显示图表,但由于底部的tab栏不是原生组件,所以在上下滑动的时候会被canvas覆盖,该方法的应该不适应弹窗覆盖的问题。开发框架:uniappecharts组件:echarts-for-wx在网上搜了好几种解决方法,有用cover-view的,有用图片的,cover-view在我的项目里无效,很奇怪,所以只能把canvas转换为图片,由于使用第三方组件,所以在转换的时候遇到不少困难。坑1如果使用最新的ca

2020-11-17 15:10:55 5456 1

原创 微信网页授权获取用户信息(测试号方法)

申请测试号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login1. 填写授权回调域名体验接口权限表—网页服务—网页账号—网页授权获取用户基本信息—填写授权回调域名[172.17.0.157:8080]2.在测试号中取得appid和appsecret3.扫码关注测试号配置信息在static目录下新建一个config.js文件,把appid,appsecret和授权回调域名添加到window对象中,这样可以全局使用//app

2020-11-10 11:53:29 1604

原创 cookie,localstorage,sessionstorage的区别和存储过程

cookie判断用户的登录状态cookie:存的数据量少,可以设置过期时间,浏览器关掉就过期了,不安全,跨域有问题,不推荐使用localstorage :存的数据量大,不过期,除非删掉sessionstorage:浏览器关闭后就会过期存cookiedocument.cookie="username=zs"//username和zs为键值对形式取cookie(取出的字符串要用split处理)document.cookie...

2020-09-26 11:05:20 83

原创 TypeScript的理解

TypeScript比js有更严格的类型要求let a: number//要求a的类型必须是numberadd ():string{ return 'a'} //要求函数add返回的类型必须是stringlet a !:number//要求a的类型必须是非空并且是numberlet a ?:number//要求a可有可没有这样写的好处就是在多人开发的大型项目当中可以减少类型不一致的bug装饰器随着 ES6 和 TypeScript 中类的引入,使得我们在多个不同类之间共享

2020-09-26 11:03:05 295

原创 ES6类class的写法,和ES5的区别

ES6类classes5的写法function Person(){ /*这里是初始化*/ say(){ }}es6的写法class Person{ constructor(){ /*这里是初始化*/ } say(){ }}类的继承class Teacher extends Person{ constructor(){ super();//必须要用super调用父亲的构造函数

2020-09-26 11:01:43 399 1

原创 浏览器运行机制(重绘和回流)

浏览器运行机制1.构建DOM树,渲染 引擎开始解析html文档,将标签转换成DOM节点。2.构建渲染树,解析CSS样式文件(CSSDOM),并且与DOM结合,生成渲染树。3.布局渲染树:从根节点递归调用,计算每一个元素的大小,位置等。4.绘制渲染树:遍历渲染树,每个节点将使用 UI 后端层来绘制。DOM→构建→布局→绘制重绘一个元素外观的改变所出发的浏览器行为,浏览器会根据元素的新属性重新绘制。触发重绘:改变元素的外观属性回流也叫做重排,当渲染树中,一部分元素的尺寸,布局,隐藏等要改

2020-09-26 10:59:12 235

原创 JavaScript线程与进程机制

线程与进程机制进程与线程进程:程序运行的时候,独立站用一块内存空间线程:进程内一个独立执行的的单元,是程序执行的一个完整流程,是cpu最小的单元调度一个进程只要有一个运行的线程一个进程可以有多个线程线程池:保存多个线程对象的容器,实现程序复用多线程和多进程多进程:一个应用程序可以同时启动多个实例多线程:在一个进程中,同时有多个线程运行多线程的优缺点good:有效提高cpu的利用率,创建多线程开销bad:线程之间切换开销,死锁和同步问题单线程的优缺点good:顺序变成简单易懂ba

2020-09-26 10:57:08 140

原创 JavaScript原型链继承以及其他继承方式

原型链继承假如有两个类型,一个是父类型,一个是子类型//父类型function Supper (){ this.father = "father"}Supper.prototype.showSupperProp = function(){ console.log(this.father)}//往父类型的原型对象上添加一个showSupperProp方法//子类型function Sub(){ this.son = "son"}var sub = new Sub()

2020-09-26 10:56:03 131

原创 JavaScript的五种对象创建模式

对象创建模式object构造函数模式先创建一个空的object,再添加属性,适用于不确定对象的数据var p = new Object()p.name = "zlearn"p.setName = function(name){ this.name = name}对象字面量模式适用对象来创建如果创建多个对象,会有重复代码,适用于其实对象内部数据是确定的var p = { name: 'Tom', age: 12, setName: function(name){ this

2020-09-25 17:24:25 98

原创 JavaScript闭包详解

闭包当一个嵌套的内部函数引用了嵌套外部函数的变量,就产生了闭包。闭包是指有权访问另一个函数作用域中的变量的函数。如何理解闭包闭包就是嵌套的内部函数内部函数中包含被引用的对象产生闭包的条件函数的嵌套(不需要调用内部函数)内部函数引用了外部函数的数据(变量/函数)fucntion fn1(){ var a = 2 var b = 'abc' function fn2(){ //执行函数定义就会产生闭包,但是要定义外部函数 console.log(a) } fn2()}fn1()

2020-09-25 17:23:21 67

原创 JavaScript作用域和作用域链

作用域与作用域链全局作用域和函数作用域,他们都是静态的,不会像上下文那样动态改变。var x = 10 function fn(){console.log(x)}function show(f){var x = 20f()}show(fn)注意:作用域在定义函数的时候就确定了,所以相当于:所以输出的是10...

2020-09-25 17:20:45 50

原创 JavaScript执行上下文详解

执行上下文在程序开始运行的时候,代码分为两种:1.全局代码2.函数代码(局部代码)全局执行上下文在执行全局代码前,将window确定为全局执行上下文var定义的全局变量变为undefined,并添加window属性function声明的全局函数进行赋值,并添加为window方法将this赋值为window函数执行上下文在调用函数体之前,要执行函数上下文,创建对应的函数执行上下文对象,就相当于在内存中新开辟一块栈空间用来存储变量。对局部数据进行预处理形参赋值,并添加为

2020-09-25 17:18:47 101

原创 如何理解JavaScript的变量提升

变量提升console.log(b)var b = 1在编译执行的时候,经历如下step1:var b = undefined(此时变量提升)step2:console.log(b)step3:b = 1fn1()fn1(){console.log("fn1")}此时能调用fn1(),函数提升

2020-09-25 17:18:02 48

原创 Javascript原型链的详解

原型与原型链prototype:每一个函数都有一个prototype属性,它默认指向一个object空对象, 即原型对象。constructor:是prototype这个原型对象的属性,它指向该函数对象原型对象不推荐直接使用,是给创建的实例对象访问的。显式原型和隐式原型prototype为显式原型属性,定义的时候添加_proto_为隐式原型属性,创建对象的时候添加有什么关系?对象的隐式原型的值为对应的构造函数的显式原型的值function Fn(){ //创建函数的时候,内部执行了this

2020-09-25 17:17:19 143

原创 Javascript函数的基本知识

函数什么是函数?实现特定功能的n条语句封装体只有函数是可以执行的,其他类型的数据不能执行为什么要用函数?提高代码复用便于阅读和交流如何定义函数?函数声明+表达式直接调用test( )通过对象调用obj.test()new调用new test()test.call/apply(obj)回调函数什么是回调函数手动定义,但没有调用,最终执行了常见的回调函数dom事件回调函数定时器回调函数ajax请求回调函数生命周期回调函数IIFE立即调用执行函数,隐藏实

2020-09-25 17:15:08 1044 1

原创 Javascript对象的基本知识

对象什么是对象?可以存储多个数据用于保存多个数据的容器一个对象代表现实世界中的一个事物为什么要用对象?统一管理多个数据对象的组成属性:属性名和属性值组组成方法:一种特别的属性(属性值是函数)如何访问对象内部的数据?对象名. 属性名属性名包含特殊字符 p.content-type不能使用变量名不确定var propName = 'name'var value = 18p.propName = value//此时变量名不确定,不能使用//只能通过p['propN

2020-09-25 17:14:16 1015

原创 JavaScript变量,数据和内存的相关问题

变量,数据和内存数据:存储在内存里面的010101内存:通电后产生可存储数据的空间,断电后数据消失,内存中有两块数据,一块是数据,一块是地址变量:由变量名和变量值组成,每个变量都对应一小块内存,变量名用来查找内存,变量值为该内存中保存的数据相关问题关于赋值与内存赋值无非就两种赋值的是值var a = 1;var b = a;//b赋值的是1赋值的是地址var a = {};var b = a;//b赋值的是a的地址关于引用变量赋值的问题当两个引用变量指向同一对象通过一个变

2020-09-25 17:13:06 1023

原创 JavaScript数据类型详解

数据类型分类基本类型(值类型)string (字符串)number(数字)boolean(true/false)undefined(undefined)null(null)对象类型(引用类型)object(任意对象)function(特别的对象,可以调用并执行)array(特别的对象,属性是数值下标,有序)如何判断类型关键字typeof但是不能判断object的具体类型和nullinstanceof(判断对象的具体类型)实例对象 instanceof 构造函数用于

2020-09-25 17:11:11 43

原创 电商管理系统笔记(vue+elementUI 未完结)

电商管理系统登录功能表单验证<el-form ref="loginFormRef" :model="loginForm" class="login_form" label-width="60px" :rules="loginFormRules">:rules="loginFormRules"声明一个验证规则在data中添加如下代码loginFormRules: {

2020-09-04 23:29:39 260

原创 最全的Node.js笔记(node+express+mongodb+koa+ejs超详细)

解析urlconst url = require('url');var api = 'http://baidu.com?id=01&name=zlearn';console.log(url.parse(api));var getValue = url.parse(api,true).query;console.log(getValue)url.parse(api)输出Url { protocol: 'http:', slashes: true, auth: nu

2020-08-15 15:35:18 576

原创 【java笔记】this关键字的使用

作用一:通过this来区分构造函数里的参数this:代表当前对象,看谁调用了当前的方法或者看哪个对象使用了当前变量,this就代表谁

2019-09-14 18:46:45 139

原创 【java笔记】创建StringBuffer可变字符串

StringBuffer,StringBuilder和String有什么区别String字符串一旦赋值后就不能被修改,只能通过修改引用来指向新的字符串StringBuilder和String可以在堆里面修改字符串两者在使用时基本相同使用String来组合字符串 String s = "Cam"; s+="work"; Sys...

2019-09-09 19:26:48 96

原创 【java笔记】关于Sannner类的使用

Sanner里面有两个方法,hasNextXXX,nextXXX()如何创建Scannerimport java.util.Scanner;//ctrl+shift+o自动引入类 Scanner s = new Scanner(System.in);nextXXX()如何使用用s.next()的方法获取用户在控制台输入的数据String str ...

2019-09-09 16:23:03 511

原创 【java笔记】字符串的比较说明equals

字符串的比较基本类型用“==”一些int,float,double型的变量或者常量,例子:System.out.println(9==9);a=10; b=9;System.out.println(a==b);引用类型用equals字符串在内存里面的存储在内存里,基本变量存储到栈里面。引用类型包含实际数据和引用。当“==”比较引用类型的时候,比较的是引用...

2019-09-06 18:33:30 148

空空如也

空空如也

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

TA关注的人

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