自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 后端传数字或字符串,前端显示汉字

后端传数字或字符串,前端显示汉字当表格通过遍历dataList方式写出,没有将每一列通过标签单独列出时,可以采用此方法注:若是每一列通过标签单独列出,可直接通过映射方法解决后端传来数据data{ rows:[ 0:{userid:'01' ,userName:'001'} 1:{userid:'02' ,userName:'002'} 2:{userid:'03' ,userName:'003'} ]}前端需要将userName的001对应成中文//this.dataList

2021-12-29 16:58:40 2362

转载 js把两个对象合并成一个对象

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象语法:Object.assign(target, ...sources)实例:var obj = { a: 1 };var copy = Object.assign({}, obj);console.log(copy); // { a: 1 }如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。String类型和 Symbol 类型的

2021-11-04 10:36:41 7109

转载 onClick的html 单引号+双引号:传参的转义问题

示例:var data=“111”;1.外部双引号:var html="<div οnclick=\"showData(' " + data + " ')\">AAA</div>";2.外部单引号:var html='<div οnclick="showData(\' ' + data +' \')">AAA</div>';注意点:需要用转义字符...

2021-11-04 10:16:41 790

转载 SQL中ON和WHERE的区别

SQL中ON和WHERE的区别数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。**where条件是在临时表生成好后,再对临时表进行过滤的条件。**这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。假设有两张表:表1:tab2id size1 102 2

2021-10-21 17:19:45 220

原创 前端端口被占用报错: events.js:167 throw er;

前端端口被占用报错: events.js:167 throw er;解决办法:在cmis_vue/config/index.js文件下module.exports={ dev:{ port:8082 }}将8082改换端口例如8086 然后重启项目(npm run dev)如果多个端口都被占用,可以kill掉vsCode 解决端口占用问题vsCode:在终端TERMINAL里的最右侧点击 书的图标(两个矩形并着),也可以没有这个图标直接如下图所示:

2021-10-19 16:30:02 258

原创 端口占用报错 Address already in use: bind

端口占用报错 Address already in use: bind解决办法:打开cmdnetstat -ano 查看进程及其占用的端口号taskkill /PID 6272 /F 终止PID为6272的进程在app_config_dev.properties文件夹下,ipsd.port=11111 在cmd输入netstat -ano 回车,查出11111 对应的进程为6272然后输入taskkill /PID 6272 /F 终止PID为6272的进程

2021-09-11 13:34:56 352 1

原创 Add and Remove左右边都为空

Add and Remove左右边都为空要先导入项目再Add and Remove

2021-09-11 13:23:37 205

原创 一级路由配置

设置路径 path componentimport路由留坑实现

2021-08-11 10:59:16 231

转载 computed、methods和watch的区别

一、computed 和 methodscomputed是计算属性,methods是方法,都可以实现对 data 中的数据加工后再输出。不同的是 computed 计算属性是基于它们的依赖进行缓存的。计算属性 computed 只有在它的相关依赖发生改变时才会重新求值。这就意味着只要data 中的数据 message 还没有发生改变,多次访问 reversedMessage(对message 进行加工的处理函数) 计算属性会立即返回之前的计算结果,而不必再次执行函数。而对于method ,只要发生重新渲

2020-10-29 21:28:51 2541

转载 JS继承

1.原型链继承2.借用构造函数继承(经典继承)3.组合继承4.原型式继承5.寄生式继承6.寄生组合式继承既然要实现继承,那么首先我们得有一个父类,代码如下:1.原型链继承原型链继承是通过 将一个类型的实例赋值给另一个构造函数的原型实现的。这样子类型就可以访问超类型的所有属性和方法。不适合单独使用。核心: 将父类的实例作为子类的原型特点:实例可继承的属性有:实例的构造函数的属性,父类构造函数属性,父类原型的属性。(新实例不会继承父类实例的属性!) 缺点:1、在创建子类型的实例时,无

2020-09-09 11:18:02 136

转载 JS内存泄漏与垃圾回收机制

**执行环境定义了变量或者函数有权访问的其他数据,决定了他们各自的行为。**每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量的函数都保存在这个对象中。虽然我们编写的代码无法访问到这个对象,但是解析器在处理数据会在后台调用它。全局执行环境被认为时window对象。什么是内存泄漏?程序的运行需要内存,只要程序提出要求,操作系统或者运行是就必须供给内存。对于持续运行的服务进程,必须及时释放内存,否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。不再用到的内存,没有及时释放,就叫做内

2020-09-02 21:15:32 205

原创 JS的6种数据类型

5种简单数据类型 (Undefined,Null,Boolean,Number,String) + 1种复杂数据类型(Object)typeof 操作符 不是函数注意:typeof null 会返回Object ,因为特殊值null被认为是一个空的对象引用Undefined类型Undefined类型只有一个值,即特殊的undefined。在使用var声明 但未对其加以初始化时,这个变量就是undefinedalert(mes)一个未声明的变量(mes)会报错但alert(typeof

2020-09-01 21:34:57 314

原创 this指向问题

全局上下文 非严格模式和严格模式中this都是指向顶层对象(浏览器中是window)。1.默认绑定 独立调用普通函数调用,此时 this 指向 window被嵌套的函数独立调用时,this默认指向了window自执行函数 this默认指向了window闭包中this默认指向window2.隐式绑定 方法调用当函数当作方法来调用,this指向了直接对象3,显示绑定 间接调用( call() apply() bind() )call() apply() bind(.

2020-08-21 15:14:40 370

转载 箭头函数与普通函数的区别

箭头函数是匿名函数,不能作为构造函数,因此不能使用new箭头函数不绑定arguments,取而代之的使用rest参数代替箭头函数不绑定this,但会捕获上下文的this,作为自己的this箭头函数通过 call() 或 apply() 方法调用一个函数时,只是传入了参数而已,对 this并没有什么影响箭头函数没有原型属性箭头函数不绑定arguments,取而代之的使用rest参数代替ES5中的argumentsfunction func(a,b,c){ console.log(argu.

2020-08-20 15:37:50 295

原创 sessionStroge和localStorage

cookie:缺点:sessionStroge:关闭浏览器存储不存在关闭页面存储还存在

2020-08-19 16:08:01 636

转载 let,const,var的区别

这里的声明提升存在疑点,涉及到暂存性死区重复定义:只有const不行,会报错let var 可以重复定义 const不可以<body> <input type="text" placeholder="aaa"> <button>发表评论</button> <div></div></body><script> var text=document.querySelec

2020-08-18 19:45:07 189

转载 ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

解决办法:cnpm install

2020-08-17 21:24:36 263

转载 解决 cnpm : 无法加载文件 C:\Users\hp\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本

解决 cnpm : 无法加载文件 C:\Users\hp\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本在使用vsCode中运行cnpm install时报错。解决方法:1.在win10 系统中搜索框 输入 Windows PowerShell,选择 管理员身份运行2、使用,win+R打开了powershell命令行之后,输入set-ExecutionPolicy RemoteSigned,然后更改权限为A,最后通过 get-ExecutionPolicy 查

2020-08-17 20:59:10 399

转载 Vue双向绑定

实现mvvm的双向绑定,是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。就必须要实现以下几点:1、实现一个数据监听器Observer,能够对数据对象的所有属性进行监听,如有变动可拿到最新值并通知订阅者2、实现一个指令解析器Compile,对每个元素节点的指令进行扫描和解析,根据指令模板替换数据,以及绑定相应的更新函数3、实现一个Watcher,作为连接Observ

2020-08-14 23:50:02 197

转载 变量提升

变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。变量可以在使用后声明,也就是变量可以先使用再声明。变量提升不能跨scriptvar 和 let 的区别是什么?答案之一就有 let 不会变量提升函数提升函数会优先于变量 先提升console.log(foo);var foo=10;console.log(foo);function foo(){ }console.log(foo);执行结果:function a(){}var a;conso

2020-08-14 23:31:44 111

转载 vue里data为什么是函数不是对象,写对象有什么影响

当data定义为对象后,这就表示所有的组件实例共用了一份data数据,因此,无论在哪个组件实例中修改了data,都会影响到所有的组件实例。组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会变的结果。...

2020-08-14 22:42:37 618

转载 JS 作用域及作用域链

JS 作用域及作用域链一、作用域在 Javascript 中,作用域分为 全局作用域 和 函数作用域全局作用域:代码在程序的任何地方都能被访问,window 对象的内置属性都拥有全局作用域。函数作用域:在固定的代码片段才能被访问作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突。变量取值:到创建 这个变量 的函数的作用域中取值二、作用域链一般情况下,变量取值到 创建 这个变量 的函数的作用域中取值。但是如果在当前作用域中没有查到值,就会向上级作用域去查,直到查到全局作用域,这

2020-08-14 22:36:59 162

转载 响应式布局与自适应布局

响应式布局是什么意思?响应式布局可以根据不同的浏览设备(PC端,平板,智能手机等)呈现不同的网页布局,同时减少缩放、平移和滚动。响应式网页设计就是一个网站能够兼容多个终端而不是为每个终端做一个特定的版本。适应移动端的大趋势,提高用户体验,减少开发成本。为什么要使用响应式布局?主要是**使网页适用于移动端设备,**屏幕分辨率是出现的最大的兼容性问题。可以为不同的设备提供不同的网站,也就是同一网站做普通PC端和移动端两种页面。不论是前期的开发还是后期的维护改版,都非常的麻烦。响应式布局的缺点?兼

2020-08-12 15:42:25 3782 1

转载 HTTP状态码

参考链接:https://www.runoob.com/http/http-status-codes.html当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。下面是常见的HTTP状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)不存在

2020-08-10 15:42:17 135

转载 TCP如何保证传输可靠性

TCP协议保证数据传输可靠性的方式主要有:参考链接https://blog.csdn.net/cbjcry/article/details/84925028(校序重流拥)校验和确认应答+序列号超时重传流量控制拥塞控制(慢启动、拥塞避免、拥塞发送、快速恢复)校验和发送的数据包的二进制相加,并且前面的进位不能丢弃,补在后面,最后取反,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。确认应答+序列号TCP给发送的每一个包进

2020-08-07 20:35:45 868

原创 随机乱序

function disorderly(arr){ console.log("最初数组:"+arr); for (let i = 1; i < arr.length; i++) { const random = Math.floor(Math.random() * (i + 1)); console.log("random: "+random); //遍历数组,交换arr[i]和arr[random]的位置 [arr[i], ar

2020-08-05 17:25:30 175

转载 flex:1

flex属性 是 flex-grow、flex-shrink、flex-basis三个属性的缩写。flex-grow:定义项目的放大比例;默认为0,即 即使存在剩余空间,也不会放大;所有项目的flex-grow为1:等分剩余空间(自动放大占位);flex-grow为n的项目,占据的空间(放大的比例)是flex-grow为1的n倍。flex-shrink:定义项目的缩小比例;默认为1,即 如果空间不足,该项目将缩小;所有项目的flex-shrink为1:当空间不足时,缩小的比例相同;

2020-08-05 16:19:38 150

原创 vscode本地编译

方法一: 在 js 后缀文件中写 javascript 代码.环境配置:(1). 需要安装 nodejs ( node -v 和 npm -v 检验是否安装成功)(2). 安装 Code Runner 扩展包新建一个 js 后缀的文件,如test.jsconsole.log("hello world");console.log("2314");运行程序(1) 如果你安装了 Code Runer,那么就可以直接点击右键选择 Run Code 运行代码,就可以在 OUTPUT 窗口

2020-08-01 17:33:08 760

原创 promise总结

1.promise是什么?1.1.1抽象表达promise 是JS中进行异步编程的新的解决方案旧的方案:纯回调形式1.1.2.具体表达从语法来说:promise是一个构造函数从功能来说:promise对象用来封装一个异步操作并可以获取结果1.2状态改变:pending变为resolvedpending变为rejected说明:只有这2种,且一个promise对象只能改变一次无论变为成功还是失败,都会有一个结果数据成功的结果数据一般称为value,失败的结果数据一般称为reason1

2020-07-29 16:34:16 194

原创 promise-面试题2

//1 7 2 3 8 4 6 5 0 /* 1 7 宏:[0] 微: [2,8] 取出2 因为resolve()立马执行promise,立刻输出3 1 7 2 3 宏:[0] 微: [8,4,6] 取出8 继续resolve()立马then,输出4,此时返回undefined给外层then,接着执行6 1 7 2 3 8 宏:[0] 微: [4,6] 1 7 2 3 8 4 宏.

2020-07-28 11:32:15 95

原创 promise-面试题2

//3 7 4 1 2 5 //同步3 7 4 /* 宏:[5] 微:[1,2] 最后resolve(6) 返回给p 但是不执行输出了 */ const first= ()=>(new Promise((resolve,reject)=>{ console.log(3) let p=new Promise((resolve,reject)=>{ console.log(7.

2020-07-28 11:27:58 84

原创 promise-面试题1

//放入宏队列 setTimeout(()=>{ console.log(1) },0) new Promise((resolve)=>{ console.log(2) resolve() }).then(()=>{ console.log(3) }).then(()=>{ console.log(4) }) console.log(5)

2020-07-28 11:25:25 138

原创 同步回调函数与异步回调函数

//1.同步回调函数 const arr=[1,2,3]; arr.forEach(item=>{ console.log(item); }) console.log("forEach之后"); //2.异步回调函数 setTimeout(()=>{//异步回调函数,会放入队列中将来执行 console.log("tomout callback()"); },0) console.log("setTi

2020-07-28 11:23:25 201 1

原创 函数对象与实例对象

function Fn(){ } const fn=new Fn()//Fn是构造函数,fn是实例对象 console.log(Fn.prototype);//Fn是函数对象,带了. 才会有方法 Fn.call({});//Fn是函数对象 $("#test");//jquery函数 $.get("/test");//jquery函数对象...

2020-07-28 11:21:40 142

原创 async/await

1.async函数函数返回值为 promise对象promise对象的结果由async 函数执行的返回值决定2.await 表达式await 右侧的表达式一般为promise对象 ,但是也可以是其他值如果表达式为promise对象,await返回的是promise成功的值如果表达式 是其他值,直接将此值作为await的返回值3.注意:await 必须写在async 函数中 ,但async函数可以没有await如果await 的promise 失败了,就会抛出异常,需要通过try…catch

2020-07-28 11:18:49 305

原创 promise异常传/穿透?中断promise链?

6.promise异常传/穿透?(1)当时有promise的then链式调用时,可以在最后指定失败的回调(2)前面任何操作出了异常,都会传到最后失败的回调中7.中断promise链?(1)当前使用promise的then链式调用时,在中间中断,不再调用后面的回调函数(2)办法:在回调函数中返回一个pendding状态的promise对象 //promise异常传透 new Promise((resolve,reject)=>{ reject(1); }).th

2020-07-28 11:11:50 879

原创 promise如何串联多个 操作任务?

promise如何串联多个 操作任务?(1)promise的then()返回一个新的promise,可以变成then()的链式 调用(2) 通过then的链式调用串联多个同步/异步操作输出结果:执行 任务1(异步)任务1的结果: 1执行任务2(同步)任务2的结果: 2执行任务3(异步)任务3的结果: 3 为什么有同步有异步,却按顺序执行? 因为每一个任务都是拿到前一个 的返回结果才执行new Promise((resolve,reject)=>{ s

2020-07-28 11:08:51 536

原创 promise.then()返回新的promise的结果状态由什么决定!!!

promise.then()返回新的promise的结果状态由什么决定?(1)简单表达:由 then()指定的回调函数执行的结果决定(2)详细表述:如果抛出异常,新promise变为rejected,reason为抛出的 异常如果返回值是非promise的任意值,新promise变为resolve,value为返回 的值如果返回的是另一个新的promise,此promise的结果会成为新的promise的结果new Promise((resolve,reject)=>{

2020-07-28 11:05:15 2612

原创 改变promise状态 和指定回调函数谁先谁后?

3.改变promise状态 和指定回调函数谁先谁后?(1) 都有可能,正常情况下是先指定回调函数再改变状态,但是也可以先改变状态再指定回调函数(2) 如何先改变 状态再指定回调?在执行器中 直接调用resolve()/reject()延迟更长时间才调用then()(3)什么时候才能得到数据?如果先指定回调,当状态发生改变时,回调函数就会调用,得到数据如果先改变转态,那指定 回调时,回调函数就会调用,得到数据.then是同步里面调用 的resolve,reject都是异步函数,怎么验证?在

2020-07-28 11:00:17 684

原创 一个promise指定多个成功/失败 回调函数,都会 调用吗?

1.如何改变promise的状态?(1) resolve(value): pending变为resolved(2) rejecte(reason): pending变为rejected(3) 抛出异常:pending变为rejected2.一个promise指定多个成功/失败 回调函数,都会 调用吗?当 promise改变为对应状态 时都会调用const p=new Promise((resolve,reject)=>{ // resolve(1) //

2020-07-28 10:49:49 466

空空如也

空空如也

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

TA关注的人

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