自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

原创 jdbc连接Oracle:error:ORA-12505

Oracle:Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor错误如图所示解决办法之一:查看oracle服务有没有启动然后重启项目...

2022-02-08 12:28:18 907

原创 --------跨域请求

1、什么是跨域:发送请求所在的域和请求指向的资源所在的域不是同一个域2、同域指协议、域名、端口号都相同,其中有一个不同则是跨域3、跨域解决的方法:(1)、JSNP(2)跨域资源共享cors(3)反向代理...

2021-10-31 19:15:03 182

原创 linux 中查找文件的命令

1、find -name “文件名”注意点:使用find命令查找文件要知道文件的大致路径或者去根目录下查找创建家目录下的级联目录test/hello在hello目录下创建zhangsan.txt文件在test目录下查找zhangsan.txt文件在用户的根目录下查找zhangsan.txt在别的目录下找不到zhangsan.txt,除非给它添加一个大致路径,所以使用find命令查找一个文件很不方便2、locatelocate命令也是用来查找文件的,它是基于数据库的,再查找之前更新一下数据库就

2021-10-30 10:31:36 10068

原创 发送网络请求出错vue.runtime.esm.js?6e6d:619 [Vue warn]: Error in v-on handler (Promise/async)

错误代码如下 async categoryDelete(id){ const res = await get('/productCategory/deleteById',id) console.log(res); }正确代码如下 async categoryDelete(id){ let data = { id:id } const res = await get('/productCategory/d.

2021-10-24 14:36:10 7561

原创 原型链继承

原型链继承一、原型链1、什么是原型链:每个构造函数都有一个原型对象,原型对象有一个属性constructor指回构造函数,而实例对象有一个内部指针__proto__指向原型对象。如果原型对象是另一个对象的实例呢?那就意味着这个原型对象本身有一个内部指针指向另一个构造函数的原型对象,相应的另一个原型对象也有一个内部指针指向另一个构造函数,这样就在实例对象和原型对象之间构造了一条原型链2、原型链的作用:原型链是ECMAScript主要的继承方式,其基本思想就是通过原型链继承多个共享属性和方法3、例子/

2021-10-23 17:43:17 841

原创 2021-10-21-vue-admin-tempalte报错解决方法

解决bug如下:将原来的代码改为如下

2021-10-21 20:27:11 163

原创 js中判断数据类型的几种方法

例子var a = 123var b = 'apple'var c = truevar d = nullvar e = undefinedvar f = [1, 2, 3]var g = { name: 'lisi', age: 21 }var h = function () { return 1 + 2}var i = /test/var j = new Date()var k = new Set([1, 2, 3, 4])var l = new Map([ ['

2021-10-18 22:06:07 65

原创 js中0.1+0.2 != 0.3

console.log(0.1+0.2);//0.30000000000000004在js中0.1+0.2的结果不等于0.3,这是由于精度缺失造成的,JS数字采用IEEE 754 双精度 64 位浮点数来存储,在js中数字只能保存小数点后52位,第53位为0省略,为1进1,0.1的二进制加0.2的二进制的和第53位是1,向前进1,后面的省略,所以转换成十进制不等于0.3实际得到的0.2的二进制加0.3的二进制的结果为0.0100110011001100110011001100110011001100

2021-10-18 19:20:43 391

原创 ES6-class

1、 es5中通过构造函数定义类function Point(x,y){ this.x = x, this.y = y}Point.prototype.toString = function(){ console.log(this.x + '---' + this.y);}2、es6通过class关键字定义类class写法只是让对象原型的写法更加清晰,更像面向对象编程的语法,上面的代码用es6的class改写如下class Point{ constructor

2021-10-17 23:35:25 83

原创 判断数组类型的方法

let arr = [1,2,3]console.log(arr);//对象和数组使用typeof操作符返回的都是Object,//所以不能使用typeof操作符判断一个数组的数据类型console.log(typeof arr);//Object//判断一个数组类型有下面三种方法//1、instanceof操作符console.log(arr instanceof Array);//true//2、Array.isArray()console.log(Array.isArray(arr)

2021-10-11 22:47:12 686

原创 v-model指令实现原理

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc

2021-10-11 18:30:01 105

原创 Promise对象、Generator函数、async函数

一、Promise对象Promise是一个构造函数,用来生成Promise实例Promise对象有三种状态:1、pending:"承诺发起(未完成)”2、resolved:“承诺兑现(成功)”3、rejected:“承诺未兑现(失败)”let p = new Promise((resolve,reject)=>{ if(true){ // resolve函数的作用是将Promise对象的状态从“未完成”变为“成功”(即从 pending 变为 resolved)

2021-10-10 18:26:53 99

原创 javascript实现异步编程的方法

一、异步编程的方法1、回调函数2、事件监听3、发布/订阅4、Promise对象5、Generator函数6、async函数二、例子1、回调函数setTimeout(()=>{ console.log(111); setTimeout(()=>{ console.log(222); setTimeout(()=>{ console.log(333); },3000) },2000

2021-10-10 17:34:09 497

原创 iterable类型

一、iterable类型的数据1、什么是iterable类型的数据一个数据的数据结构中有Symble.iterator属性的数据被称为itarable类型的数据或者可遍历的数据2、iterable类型的数据可以使用for…of遍历3、iterable类型的数据结构有哪些String、Array、Set、Map、函数的arguments对象、Bom的NodeList对象二、iterator接口(遍历器接口)1、iterator(遍历器)2、iterator是一种接口,为各种不同的数据结构提供统

2021-10-10 12:48:51 4666

原创 暂时性死区

// 暂时性死区(TDZ),是一种语法上的错误let tmp = 123if(true){ console.log(tmp); let tmp = 'a' }// 在代码块中使用let或const会绑定这个区域,从代码块开始就形成了一个封闭的作用域,不受外部的影响,如果在声明一个变量之前使用这个变量就会报错...

2021-10-10 09:45:39 61

原创 浏览器渲染页面的流程是什么(浏览器地址栏输入URL后发生了什么)

1、查找缓存2、DNS域名解析,得到对应的服务器ip地址3、建立TCP连接4、发送HTTP请求,获取数据5、浏览器解析html,得到dom树和css规则树6、浏览器渲染页面,构建渲染树并且重绘

2021-10-09 20:52:06 81

原创 实现深拷贝

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc

2021-10-08 23:27:43 81

原创 Set和Map数据结构

一、Set数据结构1、ES6提供了新的数据类型Set。它类似于数组,但是成员的值都是唯一的,没有重复的值2、Set的实例Set本身是一个构造函数,用来生成Set数据结构,Set函数接受一个数组或者具有iterable接口的其他数据结构作为参数,用来初始化const set = new Set([1,2,3,4,4])console.log(set);//Set(4) { 1, 2, 3, 4 }console.log([...set]);//[ 1, 2, 3, 4 ]const s1 =

2021-10-06 23:07:50 1136

原创 ES6函数的扩展

1、函数参数的默认值ES6允许为函数的参数设置默认值,即直接写在参数定义的后面function log(x,y='world'){ console.log(x,y);}log();//undefined worldlog('hello');//hello worldlog('hello','es6')//hello es6log('hello','')//hello2、函数的length属性function add(x,y,z=10){ return x+y+z}co

2021-10-06 16:50:07 81

原创 ES6数组的扩展

一、数组的扩展运算符二、数组对象新增的方法二、数组的实例新增的方法1、数组的扩展运算符是三个点(…),它好比rest参数的逆运算,将一个数组转换为用逗号分隔的参数序列console.log(...[1,2,3]);//1 2 3console.log(1,...[2,3,4,5],6);//1 2 3 4 5 62、数组的扩展运算符主要用于函数调用function add(x,y){ return x + y}const numbers = [4,38]conso

2021-10-06 16:43:44 176

原创 ES6对象的新增方法

1、Object.is(x1,x2),用来比较两个参数是否严格相等,返回布尔值,与严格相等运算符用法基本一致console.log(Object.is('hello','hello'));//trueconsole.log(Object.is({},{}));//falseconsole.log(Object.is(+0,-0));//falseconsole.log(Object.is(NaN,NaN));//trueconsole.log('hello' === 'hello');//true

2021-10-06 09:30:01 152

原创 ES6对象的简写格式

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。一、属性的简写二、方法的简写三、一个完整的例子一、属性的简写const foo = 'bar';const baz = { foo, //等同于foo:foo,}console.log(baz);//{ foo: 'bar' }function f(x,y) { return{x,y} //等同于return{x:x,y:y}}console.log(f(1,2));//{x:

2021-10-05 17:05:00 379

原创 ES6对象的扩展运算符

1、对象的扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中let z = {a:3,b:4};let n = {...z};console.log(n);//{a:3,b:4}2、 由于数组是特殊的对象,所以对象的扩展运算符也可以用于数组let foo = {...['a','b','c']}console.log(foo);//{ '0': 'a', '1': 'b', '2': 'c' }3、如果扩展运算符后面是一个空的对象,则没有任何效果console.log(

2021-10-05 16:54:31 1091

原创 ES6数值的扩展

1、Number.isFinite() 用来检测一个数值是否为有限的,参数为待检测的数值,返回值为布尔。如果参数类型不是数值,一律返回falseconsole.log(Number.isFinite(15));//trueconsole.log(Number.isFinite(0.8));//trueconsole.log(Number.isFinite(NaN));//falseconsole.log(Number.isFinite(Infinity));//falseconsole.log(N

2021-10-05 11:43:58 54

原创 ES6字符串的扩展

1、 es6为字符串添加了遍历器接口,使得字符串可以被for…of循环遍历for(let item of 'hello'){ console.log(item);}//结果//'h'//'e'//'l'//'l'//'o'2、字符串的新增方法(1)includes():返回布尔值,表示是否找到了参数字符串let s = 'hello world!';console.log(s.includes('e'));//true(2)startsWith():返回布尔值,表示参数

2021-10-04 23:29:07 219

原创 ES6块级作用域

一、在es5语法中,只有全局作用域和函数作用域,是没有块级作用域这个概念的,从而会导致一些特殊的情况1、内层变量可能会覆盖外层变量var tmp = new Date();function f() { console.log(tmp); if(false){ var tmp = 'hello word'; }}f()//undefined2、用来计数的循环变量泄露为全局变量var s = 'hello';for(var i = 0; i < s

2021-10-04 17:07:48 294

原创 CSS选择器的优先级

1、优先级的权重内联样式:1000id选择器:100类选择器、伪类选择器、属性选择器:10标签选择器、伪元素选择器:1通配符、复合选择器、否定伪类选择器:权值为02、!import 将属性的优先级提升为最高,!import不能用于间接选中,只能用于直接选中,!import跟在属性值的后面分号的前面;3、如果选择器间接选中,谁离目标标签近就听谁的;如果选择器直接选中并且是相同类型的选择器,谁写在后面就听谁的;如果选择器直接选中是不同类型的选择器,那么就会按照选择器优先级的权重来计算,id选择

2021-10-03 16:58:16 212

原创 CSS布局中的BFC(Block Formatting Context),块格式化上下文

BFC(Block Formatting Context),块格式化上下文一、BFC的定义MDN中是这么说的:块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域换句话说:BFC就是为元素提供一个独立的容器,在该容器里元素按照一定的规则进行布局排列,该容器内的元素不会影响外部的元素,外部的元素也不会影响内部的元素二、BFC的布局规则内部的Box会在垂直方向一个接着一个地放置

2021-10-03 12:20:03 183

原创 Qs.stringify和JSON.stringify的区别

<script> let obj = { name: 'lisi', age: 21 } // Qs.stringify(obj)将obj转换为查询字符串 console.log(Qs.stringify(obj)); // JSON.stringify(obj)将obj转换为JSON格式的字符串 console.log(JSON.stringi...

2021-09-30 08:54:30 83

原创 opacity,visibility,display三个隐藏元素的属性之间的区别

opacity,visibility,display三个隐藏元素的属性之间的区别<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, in

2021-09-28 20:28:30 76

原创 for...in循环,for...of循环,forEach()的区别

一、for…in循环一个 Array 数组实际上也是一个对象,它每个元素的索引被视为一个属性,所以 arr 数组额外添加的 name 属性也会被 for…in 循环遍历出来,但是 arr 数组的 length 属性(数组长度)却没有包含 namevar arr = ['a','b','c','d']arr.name = 'zhangsan'for (let key in arr) { console.log(key); //'0','1','2','3','name' console

2021-09-27 20:27:53 1867 1

原创 iterable----ES6新增的类型

ES6新增类型 iterableiterable是es6新增的类型,iterable类型的数据有,Array,Set,Map,Set和Map是es6新增的数据类型,Array:数组,有序的元素序列Set:ES6新增的数据结构,类似于数组,区别在于Set没有索引,并且Set中的元素都是唯一的Map:ES6新增的数据结构,类似于对象,区别在于普通对象的key必须是字符串或者数字,而Map的key可以是任何数据类型1.Set1.1Set允许存储任何类型的唯一值,它类似于数组,但是成员的值都是唯一的,没

2021-09-27 19:25:06 383

原创 ES6模块化

CommonJS模块化1.1package.json​ 这个文件是模块的清单文件,记录了当前模块的基本信息、依赖信息等version 模块版本name 模块名称description 模块描述main 入口文件private 如果设置为true,可以防止应用程序/软件包被意外地发布到npmscripts 脚本dependencies 产品依赖devDependencies 开发依赖engines nodejs版本号browserslist 支持的浏览器1.2CommonJS模块化

2021-09-26 19:57:37 115

原创 html,css画三角形圆形

html,css画三角形圆形<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0">

2021-09-26 08:47:32 234

原创 vue父子组件生命周期函数执行顺序

一、加载渲染过程父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted二、更新过程父beforeUpDate ->子beforeUpdate -> 子updated -> 父updated三、销毁过程父beforeDestroy -> 子beforeDestory -&

2021-09-21 22:00:32 105

原创 vue生命周期函数

什么是生命周期:vue实例创建、运行、销毁期间,总是伴随着各种各样的事件,这些事件组成了vue的生命周期这些生命周期事件也叫做生命周期钩子或生命周期函数,分为三类一、创建期间的生命周期函数:beforeCreate:实例刚在内存中创建出来,此时还没有初始化date和methods属性,也就是date和methods中没有值created:实例已经在内存中创建完成,data和methods属性已被初始化,此时还没有开始编译模板beforeMount:此时完成了模板的编译,但是还没有把模板挂在到页面

2021-09-21 21:31:17 86

原创 Error: Cannot find module ‘@vue/cli-shared-utils‘

Error: Cannot find module ‘@vue/cli-shared-utils’出现这种错误说明项目缺少依赖,将文件夹node_modules删掉,重新下载依赖即可 cnpm install

2021-09-16 19:26:50 2505

原创 web storage开发一个简单的网站列表程序

输入网站名称和网址将他们保存在localStorage对象里面,输入网站的名称可以查询对应的网址 <div class="container" style="width: 300px; height: 170px; border: 1px solid skyblue; text-align: center;"> <!-- 网站名称 --> <label for="sitename">网站名称(key):</label>

2021-09-14 20:20:30 129

原创 HTML5 web存储

web存储有cookie、sessionStorage、localStorage、三者的区别:cookie保存的数据在过期以前一直有效,可以通过expires来设置过期的时间;sessionStorage(会话存储)在窗口关闭以后数据会被删除;localStorage(本地存储)保存的诗句一直有效,除非删除。 // cookie用于存储web页面的用户信息 // 当浏览器从服务器上请求web页面时,属于该页面的cookie会被添加到该请求中, //服务端通过这种方式来获取

2021-09-14 20:13:07 85

原创 get请求和post请求的区别

get请求将传递的参数暴露在地址栏中,不有利于数据的保密和安全post请求将传递的参数封装在报文的请求体中,弥补了get请求的缺点,有利于数据保密和安全。

2021-09-10 14:29:25 44

html-css笔记.zip

html-css笔记.zip

2021-08-04

一个网站架构原型设计.zip

Axure PR9设计网站原型代码

2021-08-01

空空如也

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

TA关注的人

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