js
曾泳锋
有机会多多请教
展开
-
node操作存储桶
1.安装插件npm i cos-nodejs-sdk-v5 --save2.上传var COS = require('cos-nodejs-sdk-v5');var fs = require('fs');//配置参数 var cos = new COS({ SecretId: '111111111111', SecretKey: '1111111' });cos.putObject({ Bucket: '111111111', /* 存储桶名称 */ Region: '1原创 2021-08-20 23:00:13 · 577 阅读 · 0 评论 -
express-session使用
安装npm install express-session//express-session配置app.use(session(.....))const session = require('express-session')app.post('/login',(req,res)=>{ const {username,password} = req.body if(req.body ===....){ //直接在客户端存取cookie,你每次调用接口都会发送cookie进行验证,服原创 2021-06-03 10:56:35 · 48 阅读 · 0 评论 -
bcryptjs 加密
用户创建时密码是加过密存到数据库的//引入加密模块const bcrypt = require('bcryptjs')//设置加密复杂程度const salt = bcrypt.genSaltSync(10)//给密码加密const hash = bcrypt.hashSync(passoword,salt)//最后存到数据库--------------------用户登录时,从数据库拿出加过密的密码,进行解密比对//从数据库拿数据const UserLoginInfo = User原创 2021-05-31 23:41:15 · 450 阅读 · 0 评论 -
以a链接进行下载文件
const function exportFile(blobData,fileName){ const link = document.createElement('a') const blob = new Blob([blobData],{type:blobData.type}) link.href = URL.createObjectURL(blob) link.setAttribute('download',fileName) document.body.appendChild(link)原创 2021-05-31 15:36:57 · 258 阅读 · 0 评论 -
前端把文件流解析base64
接口封装export function previewAttachment(data){ return request({ url:'', method:'post', responseType:'arraybuffer', data })}用const data = await aiqi()const imgsrc = 'data:image/png;base64,'+btoa(new Uint8Array(data.data).reduce(()=>data+Str原创 2021-05-28 10:32:42 · 714 阅读 · 0 评论 -
Object.getOwnPropertyNames获取对象长度
Object.getOwnPropertyNames(testObj).length原创 2021-04-28 17:20:31 · 210 阅读 · 0 评论 -
js高级程序设计变量、作用域与内存
变量ECMAScript两种变量原始值:简单数据引用值:由多个数据组成的对象原始值能直接访问到变量内存,而引用值只能通过引用来访问到变量内存两种变量复制值原始值:完全独立let num1 = 5; let num2 = num1;引用值:浅拷贝就是将引用指向新的值,深拷贝也是独立的浅拷贝:let obj1 = new Object(); let obj2 = obj1; obj1.name = "Nicholas"; console.log(obj2.name); // "N原创 2021-03-28 19:42:58 · 64 阅读 · 0 评论 -
js高级程序设计Object
Object对象对象创建的两种方式1.通过new操作符和Object构造函数let aiqi = new Object()2.通过字面量的方法let aiqi = { name:'zyf', age:'24'}对象的赋值的两种方式let aiqi = {}//1.通过点语法aiqi.name = 'zyf'//2.通过中括号aiqi['age'] = 24事实上通过点语法比较方便,但是中括号语法却能给我们带来更灵活的赋值...原创 2021-03-14 21:48:55 · 40 阅读 · 0 评论 -
MVVM架构模式
MVVM架构模式MVVM是一种将视图层跟程序逻辑分开来的结构模式,可以让我们更好的对程序后期进行维护vue跟react框架就是根据这一结构原理编写的原创 2021-01-08 09:51:24 · 121 阅读 · 1 评论 -
js中将数组中字符串转换数字类型和将数组中的数字转换为字符串
js中将数组中字符串转换数字类型和将数组中的数字转换为字符串数字转换字符串var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];arr.map(String); //结果: ['1', '2', '3', '4', '5', '6', '7', '8', '9']字符串转换数字var a = ['1', '2', '3', '4', '5', '6', '7', '8', '9']a.map(Number); //结果:[1, 2, 3, 4, 5, 6, 7, 8,原创 2021-02-25 08:36:02 · 1488 阅读 · 0 评论 -
js删除对象里面的某一属性
在js中提供delete这个操作符可以供我们删除对象里面的某一属性var obj= { height: 180, long: 180, weight: 180, hobby: { ball: 'good', music: 'nice' }}delete obj.hobby //这样就可以删除hobby属性了原创 2021-02-25 08:32:10 · 240 阅读 · 0 评论 -
Eslint引用
Eslint是一种规范语法的工具第一种我们在使用vue脚手架中会自带eslint工具它会自动帮我们规范语法第二种可以通过vscode里面的插件这个插件也是采用eslint的规范帮助我们进行规范开发第三种通过npm在ESlint官网下载eslint工具...原创 2021-02-04 16:20:50 · 104 阅读 · 0 评论 -
深拷贝的方法
第一种 通过json字符串转换缺点:拷贝不了undefined跟函数 let aiqi = { a:1, b:[1,2,3], c:function(){ console.log('digui'); }, d:undefined } let aiqi1 = JSON.parse(JSON.stringify(aiqi)) console.log(aiqi1);第二种原创 2021-01-29 22:40:47 · 78 阅读 · 0 评论 -
new Set数组去重
利用该方法去重 <script> let arr = [1,1,3,3,4,4,5] console.log([...new Set(arr)]); //打印数组[1,3,4,5] </script>原创 2021-01-23 20:08:48 · 14354 阅读 · 0 评论 -
构造函数
js构造函数构造函数采用大驼峰通过new来让函数中的this指向我们要新建的对象,来新建对象function Aiqi(name,age){this.name = name this.age = age}let ai = new Aiqi('aiqi',18)console.log(ai)//打印对象ai{name:'aiqi',age:18}...原创 2021-01-08 10:46:05 · 50 阅读 · 0 评论 -
工厂函数
工厂函数是用来生成重复利用数据的函数function aiqi(name,age){let ai = new Object()ai.name = nameai.age = agereturn ai}let qi = ai('aiqi',18)原创 2021-01-08 10:24:34 · 82 阅读 · 0 评论 -
js内存,堆和栈
栈主要是拿来存储基本数据类型,用完即释放堆主要拿来存储复杂数据类型,比如对象,用完不会对齐进行内存释放原创 2021-01-06 11:14:10 · 50 阅读 · 0 评论 -
js冒泡排序
<script> //冒泡算法是一种简单的排序算法,效率不算高 for(let j = 0; j < arr.length - 1; j++){ for(let i = 0; i < arr.length - 1 - j; i++){ //arr.length-1-j算法优化 if(arr[i] > arr[i+1]){ //前面的大于后面:交换原创 2021-01-06 10:58:04 · 65 阅读 · 0 评论 -
js字符串split
split()定义:这个字符串方法可以将字符串切割为数组const aiqi = 'a1b1c1d1e'console.log(aiqi.split('1')); //打印["a", "b", "c", "d", "e"]原创 2021-01-06 01:03:45 · 350 阅读 · 0 评论 -
js字符串startsWith和endsWith和includes
startsWith()定义:这个字符串方法是用来判断字符串开头是否为某个字符或字符串,如果是则返回true,不是则返回falseconst aiqi = 'aiqi1'const isOk = aiqi.startsWith('a')console.log(isOk) //打印为trueendsWith()定义:这个字符串方法是用来判断字符串结尾是否某个字符或字符串,如果是则返回true,不是则返回falseconst aiqi = 'aiqi1'const isOk = aiqi.en原创 2021-01-06 00:57:17 · 265 阅读 · 0 评论 -
js字符串替换replace
replace()用来替换字符串中字符//replace(old字符串,new字符串)// 字符串处理 let aiqi = 'aiqi1?a' const a= aiqi.replace('?a','?aiqi2') console.log(a); //打印aiqi1?aiqi2原创 2021-01-06 00:41:14 · 193 阅读 · 0 评论 -
JSON字符串转换
// 1、JSON对象转JSON字符串 const student = { name: 'tom', age: 18 }; // JSON.stringify(JSON对象) 用于把JSON对象转换为JSON字符串 const strStu = JSON.stringify(student); console.log(strStu) // 2、JSON字符串转JS原创 2021-01-05 10:39:49 · 104 阅读 · 0 评论 -
懒加载与预加载
懒加载1.什么是懒加载?懒加载也就是延迟加载。当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。...原创 2021-01-04 20:51:40 · 75 阅读 · 0 评论 -
ES6新增语法
const与let== es6之前的var会对变量进行提升,而es6之后let跟const不会对变量跟常量进行提升,而且有也带有块级作用域,而且存在暂时性死区,这个暂时性死区的作用是,简单理解当变量被使用到时,变量从这个暂时性死区出来==模板字符串可以通过${变量名}对变量进行解析调用,也可换行箭头函数箭头函数可以省略代码量,(省略function:)对象简写对象的属性名与属性值一致时可以简写{name,age}解构//对象renzi中有属性name,age,想把这两个.原创 2021-01-04 17:29:41 · 58 阅读 · 0 评论 -
settimeout延时器与setInterval定时器
settimeout延时器与setInterval定时器的运行机制就是等到下次Event Loop时,检查是否到指定的时间,到了则执行对应的代码,没到则等到下次Event Loop再进行对应的检测所以无论时间设置为多少都会等待全部同步代码完成再执行代码(时间为0也是) setTimeout(() => { console.log(111) }, 0) setInterval(() => { console.log(222) }, 0)原创 2021-01-04 11:31:49 · 130 阅读 · 0 评论 -
JS array数组各种方法详解
aiqi原创 2020-12-31 11:44:55 · 903 阅读 · 2 评论