自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 uni-app项目使用cli的执行问题记录

4.在使用npx @vue/cli@4.5.14 create -p dcloudio/uni-preset-vue my-uniapp 去创建项目。2.先降低node版本 14.18.1(其他版本都尝试了,下载都还是会报错,使用这个去14.18.1这个版本去执行后续操作)1.存在报node-sass错误的。5.后面就是在遇到缺什么下载什么就好。3.在重新下载vue-cli。

2024-04-28 09:54:35 152

原创 navicat for Mysql链接数据库失败,命令行上可以连接。

alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘你的密码’;alter user ‘root’@'localhost’identified by '你的密码’password expire never;遇到的问题就是mysql下载启动好了以后。在命令行上连接没有问题,在navicat for Mysql上就连接错误。2.输入mysql -u root -p;1.win+r、输入cmd、回车。

2023-09-04 15:30:09 658 1

原创 使用pinia报错“getActivePinia was called with no active Pinia?“

【代码】使用pinia报错"getActivePinia was called with no active Pinia?"

2022-12-01 15:16:24 987 1

原创 前端js使用jsrsasign,生成RSA秘钥,获取一系列信息(公钥,私钥,模数,指数等)进行加密解密

之前的项目里用的RSA加解密的时候是生成固定的公钥(模数,指数)和私钥放在代码里进行数据的解密。现在要修改成前端自己生成(模数和指数)传给后台。后面查了很多,开始的window.crypto里的方法可以生成公钥和私钥,但是这个只能在浏览器中使用,没办法在小程序中使用。所以选择使用这个了。n 是 计算n的欧拉函数φ(n)的得到的数,也被我们称为模数。上面是根据我这边的需要的需求的格式进行获取的。如果你的需要和这不一样的话,进行数据转换即可。简单的来说生成秘钥的过程中,生成到的几个数。rsa的简单的知识介绍。

2022-09-07 16:13:02 6566 5

原创 超级简单的图片压缩方法(原生js)

data为图片的base64数据quality 为压缩的质量 0 - 1//图片压缩function PictureCompression(data,quality) { return new Promise((resolve,reject) =>{ let imga = document.createElement('img'); imga.src = data; imga.style.width = '300px';

2022-04-18 10:11:17 590

原创 vue3.0的setup组合式api的使用,和vue单页面使用setup

vue3.0的一个新特性组合式api,setup。此方法接受俩个参数props,context俩个参数。其一props组件接收的值,其二是一个普通的javascript的对象,可以使用一些vue的方法slots,attrs,emit等,因为,setup实在组件创建之前,所以无法访问data,computed,methods等手脚架上使用props因为props是响应式的,所以我们在用es6解构的时候不能直接解构需要使用 toRef <template> <div>{

2021-12-23 16:13:58 1480

原创 前端面试题----css篇

说一下css盒模型有俩种盒子模型:常用的标准盒子模型,少用的IE盒子模型标准盒子模型的包含了content(width ,height),padding,margin,borderIE盒子模型,content {width(padding,border);height;}margin。在ie盒子模型中的width包含了他的padding和boredr。在css3中引入了box-sizing属性,值为conent-box的时候是标准模型。值为border-box是ie盒子模型画一条0.5px的线

2021-12-09 17:10:02 91

原创 前端面试题--------浏览器篇

说一下http和https1.http和https的主要概念http:http是超文本传输协议,是互联网上使用最为广泛的一种传输协议,是客户端和服务端请求和应答的标准(TCP)https:简单的说就是http的加密版本,在http下加上了ssl。http安全的基础就是ssl。1.http和https的主要区别1.https协议需要ca证书,费用较高2.http是超文本传输协议,信息文明传输的,https是具有安全性的ssl的加密传输3.使用的链接和端口不同,http一般是使用的端口是80,而h

2021-12-08 10:27:36 1990

原创 前端面试题-------HTML篇

HTML1. html是什么超文本标记语言,是一种创建网页标准的标记语言2. HTML和XHML有什么区别HTML是一种基于WEB网页设计的语言,XHTML是基于XML的标记语言3. 简述一下你对HTML语义化的理解?根据内容结构化,选择合适的标签代码语义化,可以更好的让浏览器和搜索引擎方便解析。为什么要语义化。可以在没有css的情况下更好的展示页面,提高用户体验,比如图片的title属性等,有利于SEO,方便开发者阅读4. 浏览器页面有哪三层构成,分别是什么,作用是什么?浏览器页面分为三层

2021-12-06 09:20:00 173

原创 node.js邮箱验证码

不废话,直接搞。我用的是网易邮箱。我们网页上登录网易邮箱,在设置中找到找到上面的页面后,我们需要吧lMAP/SMTP服务POP3/SMTP服务这个服务都开启,开启后会获得的一个邮箱授权码。接下来就是在项目上下载我们所依赖的包了npm install nodemailer -s下载完成以后const nodemailer = require('nodemailer');//发送验证码function SendVerification(emailCode) { return

2021-12-02 09:23:30 352

原创 vue3.0组件传值v-bind和v-model传值

v-bind在vue2.0中,我们多使用v-bind去绑定传值,但是v-bind是单向绑定,只有父组件传递的内容发生变化,子组件才会更新。 <div id="counter"> <button @click="adds()">加1</button> <br /> <blog-post v-bind:title="counter" ></blog-post> </div&g

2021-12-02 09:17:34 3417

原创 如何判断当前页面是不是最小化或者不可见隐藏的标签页

document.visibilityStateDocument.visibilityState (只读属性), 返回document的可见性, 即当前可见元素的上下文环境. 由此可以知道当前文档(即为页面)是在背后, 或是不可见的隐藏的标签页,或者(正在)预渲染.可用的值如下:‘visible’ : 此时页面内容至少是部分可见. 即此页面在前景标签页中,并且窗口没有最小化;.‘hidden’ : 此时页面对用户不可见. 即文档处于背景标签页或者窗口处于最小化状态,或者操作系统正处于 ‘锁屏状态’ .

2021-11-29 15:11:04 1059

原创 promise方法速记

Promise.all这个方法将多个promise实例包成一个,方法接受一个从参数数组,数组里都是promise实例(Promise.resolve),参数也可以不是一个数组,但必须是具有 Iterator 接口并且返回promise实例的,返回一个新的promise1/只有当数组中所有promise实例都变成fulfilled ,后面返回新的promise实例才会变成fulfilled2/只要数组中有一个promise实例的状态变为reject ,那后面返回的新的promise实例的状态就会为rej

2021-11-23 13:43:42 588

原创 js神奇的闭包

闭包的定义百度百科上是这么说的。闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。我们看一个最简单的例子function d(){ var b = 11; function v(){ return b++ } return v}这就是一个常见简单的闭包,子函数读取了父函数内部的局部变量。我

2021-10-20 11:27:51 87

转载 js的防抖和节流

函数防抖:函数防抖:是指连续触发事件,当一段时间后不在触发事件后,事件处理函数才会执行一次。如果在设定的时间没到之前,是不会重复执行事件的处理函数。function debounce(func,wait = 0){ if(typeOf func != 'function'){ throw new TypeError('这不是个方法') } let times = null,result; return function(){ let that = this,arge =

2021-10-14 16:23:21 74

原创 Vue3.0为啥这么快?

我也是看过别人的文章来写的,有别人写的好的,我为啥自己还在写一遍,自己写过一遍才记的更清楚diff算法的改变在这先解释一下什么是Diff算法; diff算法是通过循环递归对节点进行比较,比较出节点状态和需要的操作,最后使用vnode进行DOM渲染, 在次过程中会有俩个DOM树,一个第一次渲染的,一个更新后的渲染的。1.vue2.0中的使用diff算法的时候,会变全部的节点都进行渲染。不管是写死的div还是需要改变的,都会进行重新渲染2.vue3.0的时候,在渲染Dom的时候会根据有没有需

2021-09-16 16:59:25 307

原创 10分钟让你完全读懂js中的原型,原型链

javascript原型之前写过一次这个内容,但是过来复习这方面知识的时候感觉写的不好,所以决定在写一次来复习一下。但是看了好几篇文章。是每个人说的风格都不太一样。知识点的起点都不太一样。所以我觉得都简单提一下。先看一下构造函数的创建方式 function obj(name){ this.name = name; } var Person = new obj('lly');上面的代码中 obj就是一个构造函数,通过new的方式创建了一个对象

2021-05-28 17:20:28 183

原创 面试---js实现call和apply、bind

call和apply都是修改this指向的方法。我们先来一个简单使用 var foo = { value: 1 }; function bar(name, age) { console.log(name,age,this.value) } bar.apply(foo,['kevin', 18]); //kevin 18 1 var foo = { value: 1 }; function

2021-05-21 17:36:18 98

原创 js语法基础-this指向

this的指向也算是js比较容易迷糊的一个点,有时候很容易搞错了this指向的是谁。有俩点比较关键的说法1.this总是执行为当前的执行环境。2.this的指向取决于函数的调用方式全局的执行上下文中. console.log(this == window); // true var b = 20; console.log(window.b); //20 this.add = (a,b) =>{ return a+b } window.add(5,5) //10 上面的代码

2021-05-21 14:20:56 129

原创 不知道你知不知道的执行上下文和执行栈

js的执行顺序我们都知道是从上到下进行执行了,而且都知道js执行前会进行预编译。预编译的时候,先一行一行的去解析代码,找到var等声明变量。进行预处理。在找到匿名函数进行解析,再去一行行的去执行。这里就能有我们经常遇到的变量提升,看下面的代码。 console.log(a); //哈哈 var a = '哈哈';这里就发生了变量提升。好像说跑题了奥。我们回到执行上下文。执行上下文我知道大家都知道执行上下文有三种;1.全局执行上下文。 全局的都知道,在执行js的时候就会存在全局执行上下文

2021-05-13 15:10:23 184

原创 请求跨域的解决方法JSONP的使用

因为同源策略的问题,让我在前端开发的时候经常会遇到跨域问题。啥是同源策略?就说在遇到主机协议端口号不相同的时候那就会跨域。为啥要有同源策略?同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。解决问题的方法一、JSONPJSONP的原理就是动态的创建script标签。因为script不被同源策略约束着。那就可以用这个去解决跨域问题原生实现方法 let scripts = document.

2021-03-23 15:38:42 133

原创 vue3.0使用vue-router

废话不多说上来就开搞先下载vue3.0yarn global add @vue/cli@next或者npm install -g @vue/cli@next接下来就是构建手脚架vue3.0使用的是viteVite 是一个 web 开发构建工具,由于其原生 ES 模块导入方法,它允许快速提供代码。npm init vite-app 你的项目名字cd npm install到这边就是可以运行程序了但是我们还是要使用vue-router所以我们要下载vue-routernpm insta

2021-01-22 15:04:40 1156

原创 es5和es6之间函数继承的区别

我们都知道,es5没有类的概念,都是通过构造函数实现对象的创建。而到了es6就引入了类的概念,通过关键字 class 就可创建的对象。这边就多赘述es5和es6的介绍了,不了解的同学可以去看一下es5的继承的区别。es5是先创建子类的this。在把父类的属性和方法添加到子类的this上。es6的继承完全不同。他是先把父类的属性和方法创建在this上,然后再修改子类的this...

2021-01-18 10:50:31 150

原创 js中new的过程发生了什么?

我们先写一个简单的例子 function d(name){this.name = name} let obj = new d('lly');上面是一个简单的构造模式创建的对象。再说这个之前,我们的先说一下prototype,和__proto__。如果了解俩个东西的就可以跳过了。prototype这个属性这是每一个function都有的一个属性,指向构造函数的指针(constructor)而__proto__这个方法是每一个对象都包含的一个方法。他是也指向(constructor)所以我们会

2020-12-11 16:10:46 5878 3

原创 js异步执行原理

我们都知道js是一个单线程的语言,所以没办法同时执行俩个进程。所以我们就会用到异步。异步的形式有哪些那,es5的回调函数。es6的promis等异步的运行原理我们可以先看下面这段代码for(var i = 0 ; i< 10; i++){ setTimeout(function(){ console.log(i); },100)}应该很多人都知道这个打印的值是10个10.也有知道当我们执行的for循环的时候,他会把for循环执行完成以后再去执行setTimeout,在执行set

2020-11-26 11:31:02 168

原创 includes判断字符串是否包含某个字符,或者判断数组是否包含某一项

这边说一个比较好用的方法includes使用方法特别简单判断字符串var a = 'aabbcc';console.log(a.includes('aa')); //trueconsole.log(a.includes('dd'));  //false数组判断var arr =['哈哈','你好'];console.log(arr.includes('坏')); //falseconsole.log(arr.includes('你好')); //true...

2020-11-26 11:26:03 962

空空如也

空空如也

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

TA关注的人

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