自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 uniapp小程序文件下载保存

uniapp小程序文件下载保存

2023-11-16 09:47:48 679

原创 setup、ref函数、reactive函数、Vue3中的响应式原理、Vue3中组件的使用、计算属性-vue3

computed比起方法,它可以缓存上一次的结果,如果下一次关于计算的东西没有变化,那它就不会重新计算,这样就不会消耗太多性能问题。跟ref一样,但是底层采用的是ES6的proxy代理了整个引用数据。比起ref,它的性能更好。它就不用value了,引用数据用reactive更好,它底层不是劫持,而是代理。若返回一个对象,则对象中的数据、方法、在模板中均可直接使用(重点)因此ref一般用在基本数据,或者是引用数据的嵌套层级不深的数据上。组件中所有用到的:数据、方法等等,均要配置在setup中。

2022-09-16 22:34:56 256 1

原创 vuex-vue2

为了方便实现组件之间的数据共享,Vuex是他们团队借鉴了redux,用来实现vue组件全局状态(数据)管理的一种机制.

2022-09-14 22:56:33 544 1

原创 动态组件、缓存组件、异步组件-vue2

2、 组件缓存起来:通过异步加载的组件会缓存起来,当你下一次再用到这个组件时,丝毫不会有任何的疑迟,组件很快会从缓存中加载出来。

2022-09-12 14:58:27 814

原创 正向属性传值、反向传值-$emit、反向传值-sync、反向传值v-model、多层传值$attrs$listeners、$ parent$ root$ children$refs。。。-vue2

父组件通过属性给子组件传值: 子组件的props接受数据在页面模板中 使用变量名:属性 data 计算属性(重点)子组件:2、反向传值-$emit2.1 子组件通过自定义事件给父组件传新值 $emit子组件通过自定义事件给父组件传count的新值n,父组件收到新值后修改自己的data,自然就会刷新自己 和子组件的模板子组件通过调用父组件的方法给父组件传值:子组件的自定义事件中,用$emit触发事件调用父组件方法给父组件传值 (重点)因为通过属性传值是单向的,有时候我们需要子组件的data 数据

2022-09-12 12:57:30 383

原创 自定义指令钩子、nextTick、全局与局部、单文件组件、组件的属性、v-slot: 插槽、css的作用域、面试题(组件基础)-vue2

只调用一次,指令第一次绑定到元素时调用,这个钩子函数可以定义在绑定时执行一次的初始化动作。指令所绑定的元素,可以用来直接操作 DOM。全局:所有组件共同的功能(指令,过滤器,组件)局部:只有当前组件的功能(指令,过滤器,组件)

2022-09-05 22:54:11 330

原创 属性监听器、自定义指令、生命周期函数、注册组件-vue2

watch:{x(){}}中的方法名必须跟要监听的data中的属性名一样,才代表监听指定属性当侦听器监听的属性发生变化时,就会调用watch中对应的方法侦听器属性,比计算属性计算效率消耗大除了默认设置的核心指令( v-model 和 v-show 等),Vue 也允许注册自定义指令。在Vue里,代码复用的主要形式和抽象是组件。然而,有的情况下,仍然需要对纯 DOM 元素进行底层操作,这时候就会用到自定义指令。

2022-09-04 21:57:42 440

原创 响应式数据、双向数据绑定、过滤器、计算属性-Vue2

只能由代码改变UI或者只能由UI改变代码如果内存中的数据变化了 页面UI也会动态跟着刷新 这种数据就是响应式数据双向数据绑定:代码改变UI,UI也能改变代码双向数据绑定的实现: 2种方式。

2022-08-31 22:30:20 308

原创 事件、样式绑定、条件渲染、循环渲染-vue2

这样引起的问题是:arr 数组新增一项数据时,会对每一项再做一遍v-if 循环,然后for 循环渲染。渲染过程为:对arr每一项先做map循环判断v-if给出的条件,再做一遍for 循环渲染。这样当arr 数组某一项数据发生变化时,只对新增的数据进行v-if 判断,节约渲染效率。方法的写法:由于是做了es6语法处理的 所以学过的所有方式的写法都行。这样又会产生新的问题:外层for的div会也创建一个挂载到DOM中。嵌套的写法 数据容器变化时 if只判断新增的数据。2.解决方案把for弄到最外层(面试)...

2022-08-31 12:02:44 236

原创 插值表达式、指令、元素属性绑定-vue2

普通插值表达式插入数据: 在标签尖括号中使用{{}}插入js表达式:变量,函数调用,三目运算等等,插值表达式中的标识符 代表vue对象中的data的属性名或者methods中的方法名。

2022-08-29 23:09:17 286

原创 egg框架相关

一般情况文件的临时保存路径在c盘的temp文件夹中 我们需要自己处理移动到项目文件夹中。对象里面有上传的文件信息,主要包括文件的临时保存路径文件的字段名大小等等。ctx.request.query 或者 ctx.query。框架提供了 egg-cors 插件来实现cors跨域请求。ctx.request.body 而不是 ctx.body。文件的名称是被修改过的哈希值命名的,需要自己处理修改文件名。............

2022-08-07 23:37:45 210

原创 前端网络请求技术

跨域、Ajax、JSONP、CORS、Proxy、回调函数封装Ajax、Promise封装AJax、Axios/Fetch、Async与Awiat

2022-08-02 22:18:23 198

原创 canvas

​四个参数起点坐标x,y左上角坐标;宽度width矩形的宽度;​语法context.strokeRect(x,y,width,height);​8.stroke()开始绘制图形,当前路径下的所有子路经都会绘制出来;​6.fill()填充区域,此时只是填充,起点和终点并没有连接起来;​3.moveTo开始定义一条新的子路径,该方法确定了线段的起点;​4.lineTo将上面定义的线段起点和指定的新的点连接起来;​2.beginPath开始定义一条新的路径;...

2022-07-29 00:11:16 66

原创 node.js

网址的组成协议域名pathnamequerystringhash。在某个文件夹下路径上输入cmd,就会在当前的路径下运行cmd.exe。nodexxx.js文件//用node环境去运行js文件。域名==>DNS解析会把域名解析为一个ipport。可以把querystring参数解析为一个对象。cls//清除控制台屏幕上的打印信息。ctrl+c//停止程序运行。可以把url网址解析为一个对象。上下键//输入过的指令历史。...............

2022-07-29 00:06:10 56

原创 事件语法-DOM

案例给ul注册点击事件,然后利用事件对象的target来找到当前点击的li,因为点击li,事件会冒泡到ul上,ul有注册事件,就会触发事件监听器。内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。相对于事件源元素(target或srcElement)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。.........

2022-07-22 18:03:07 472

原创 增删改查-DOM

1、设置类名2、增appendChild将一个节点添加到指定父节点的子节点列表末尾insertBefore将一个节点添加到父节点的指定子节点前面

2022-07-21 20:13:13 63

原创 垂直居中-CSS

如果元素未知宽度,只需将上面例子中的margin-50px00-50px;替换为transformtranslate(-50%,-50%);使用绝对定位+marginauto,给子元素添加如下样式。距上50%,据左50%,然后减去元素自身宽度的距离就可以实现。父元素设置为positionrelative;子元素设置为positionabsolute;使用绝对定位+margin,给子元素添加如下样式。...

2022-07-18 09:39:14 66

原创 获取元素、获取节点-DOM技术

DOM是documentobjectmodel它是W3C产业联盟制定的浏览器对程序员提供的对HTML文档操作的接口文档一个页面就是一个文档,DOM中使用doucument来表示元素页面中的所有标签都是元素,DOM中使用element表示节点网页中的所有内容都是节点(标签,属性,文本,注释等),DOM中使用node表示把文档中的代码翻译成一个对象模型在这个模型中所有相关的标签属性注释文本等等12种数据都翻译为一种类型的对象统称节点对象。...

2022-07-15 17:42:37 515

原创 Promise-js

2.如果不是一个promise对象,那么就会把函数的结果包装为一个生成数据了的promise对象。1.如果是一个promise对象那么新的Promise对象就是它。产生的错误和抛出的错误可以用第二个回调或者catch来取。通过new来创建Promise对象。.........

2022-07-15 17:41:46 363

原创 箭头函数、模块化、class类-js

参数 => 函数体(参数) => {函数体}当箭头函数没有参数或者有多个参数,要用 () 括起来当箭头函数函数体有多行语句,用 {} 包裹起来,表示代码块,当只有一行语句,并且需要返回结果时,可以省略 {} , 结果会自动返回当箭头函数要返回对象的时候,为了区分于代码块,要用 () 将对象包裹起来3、没有 this、super、arguments 和 new.target 绑定①没有this结果:结果:结果:箭头函数总结要有个箭头箭头的前面是小括号,放形参,只有一个形参的

2022-07-12 20:13:56 206

原创 Map、Set-js

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。- 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。- Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。- Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。- Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。............

2022-07-12 19:07:04 69

原创 字符串、对象、数组新功能-js

返回布尔值,判断是否找到参数字符串。2、startsWith()、endsWith()3、repeat()结果:结果:对象1、对象成员简写2、方法简写3、Number结果:1、扩展运算符合并两个对象2、①自定义的属性在拓展运算符后面自定义的属性在拓展运算符后面,则拓展运算符对象内部同名的属性将被覆盖掉②自定义的属性在拓展运算度前面自定义的属性在拓展运算度前面,则变成设置新对象默认属性值5、Object.is(value1, value2)Object.is

2022-07-12 19:06:15 206 1

原创 let、const、Symbol、结构赋值-js

et声明的变量只在 let 命令所在的代码块内有效(块级作用域、局部作用),ES6 推荐在函数中使用 let 定义变量,而非 var。const声明一个只读的常量,一旦声明,常量的值就不能改变。②用let不能重复声明③for循环计数器很适合用let④不存在变量提升二、constconst 声明一个只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。结果:案例2对于var,代码块没有作用域,a相对于全局变量,不能用let重复声明,所以报错四、Symbol基本数据

2022-07-12 16:03:38 255

原创 正则表达式-js

正则表达式是js中一种对象,如一下代码1、正则对象方法2、 三个属性i,g,mi —>(ignoreCase )执行匹配时忽略大小写g—>(global)执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)m—>(multiline)执行多行匹配3、^a :以a开始4、.js$ :以.js结尾4、中括号一个中括号代表一位,中括号里边的内容代表的是这一位可以取值的范围②(x|y) 在括号里可以加入"|"表示"或"的意思③插入符^放到[]里边表示"非"的意思5、去掉字符串的

2022-07-11 19:19:25 110

原创 JavaScript中的Object静态方法

静态方法就是直接使用类名调用的方法,比如Object.getOwnPropertyNames(obj),obj是一个对象,且静态方法是无法被子类继承或者实例对象拥有的,Object.getPrototypeOf(obj) 获得obj的原型,也可以使用obj._ proto__属性获得obj的原型:结果:该方法可以为obj新增一个名为propName的属性,同时它的属性定义为desc,desc使用一个对象赋值,例如:结果:以proto为原型,新建一个实例对象,同时将props定义的属性设置给这个新对象,以

2022-07-08 18:51:21 338

原创 JavaScript中的JSON字符串以及对象深拷贝

JSON是一个字符串,常常用于网络传输数据的一种字符串格式JSON字符串——> '{"name":"karen","its":["hello","h5"]}'对象深拷贝

2022-07-08 16:17:48 915

原创 JavaScript中的对象成员检测

1、instanceof:判断该对象是否为另一个对象的实例2、 isPrototypeOf:判断一个对象象是否为一个实例的原型3、hasOwnProperty()4、propertyIsEnumerable():判断给定的属性是否可以用 for...in 语句进行枚举。

2022-07-08 16:16:02 149

原创 JavaScript中的劫持

this劫持运行结果:定义式的函数在设计的时候就指定this运行结果:

2022-07-07 18:52:16 752

原创 JavaScript中的Date对象与Math对象

Date手册链接

2022-07-06 19:43:02 147

原创 JavaScript中的遍历器

遍历器

2022-06-09 19:29:32 160

原创 JavaScript中的数组的方法

数组遍历器2、concat()3、join()4、pop()5、push()6、shift()7、unshift()8、splice()9、reverse()10、sort()11、valueOf()12、flat数组降维结果:查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。结果:查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。15、includes:数组是否包含指定值。注意:与 Set 和 Map 的 ha

2022-06-08 16:43:04 64

原创 JavaScript中的函数自调用

结果:结果:function定义部分的括号不可省,不能写成function(){}()这种格式。不然就会报错自调用函数也可称之为”立即执行函数“,函数执行完函数空间就被释放,不能再被访问,但函数返回值可以被保存。故这种调用方法多是针对初始化功能的函数,即函数只执行一次的情况。结果:函数自调用执行之后(打印出字符串hello),报错fn is not defined上例验证了,被立即执行的函数,其函数名称就会自动被忽略,均不能再通过函数名再次被调用。所以,在写立即执行函数时就没有必要写函数名称。(4

2022-06-06 22:27:40 6972

原创 JavaScript中的预编译以及作用域链

js完成解释执行分为三个步骤:1.语法分析;2.预编译(全局预编译、函数预编译);3.执行语句。(2)全局预编译”全局“即从页内js的script 的开始标签到结束标签,从页外js文件的第一行到最后一行。全局预编译过程与函数预编译过程大致相似,只是全局上无形参、实参的概念。作用域链执行期上下文AO对象:当函数执行时,会创建一个称为执行期上下文的内部对象。一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行上下文,当函数执

2022-06-06 22:27:27 79

原创 JavaScript中的字符串内置功能以及包装对象

结果:结果:结果:结果:结果:结果:结果:这里变量s只是一个字符串原始类型,它怎么会有属性(s.length)和方法(s.indexOf()、s.substring())呢?没错,这正跟我们正要介绍的包装对象有关原因是:只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new String(s)的方式转换成对象,这个对象继承了字符串(String)对象的方法,并被用来处理属性的引用。一旦属性引用结束,这个新创建的对象就会被销毁。  同字符串一样,数字和布尔值也有

2022-06-06 22:27:11 130

原创 JavaScript中的符号优先级问题,符号优先级表

符号优先级符号优先级表符号优先级表

2022-06-03 16:44:33 117

原创 JavaScript中的闭包以及回调函数

JS中的闭包1、闭包1什么是闭包案例:2、闭包23、闭包的优缺点以及解决方法3.1优点3.2缺点3.3解决方法1、闭包1什么是闭包闭包就是能够读取其他函数内部变量的函数,在本质上是函数内部和函数外部链接的桥梁案例:function alipay() { var money=1000 function tool () { money-=20 } return tool }var re=alipay()re()//外部是无法访问函数alipay内部

2022-05-21 22:03:09 613

原创 JavaScript中函数的作用域以及隐式提升(一看就会)

JS中函数的作用域函数内部的代码可以访问内部的变量和函数 也可以访问外部的变量和函数函数内部的代码可以访问内部的变量和函数 也可以访问外部的变量和函数

2022-05-21 17:34:56 157

原创 JavaScript中的原型及原型链

原型对象及原型链一、原型1、原型定义1.1案例二、原型链1、构造函数、原型和实例的关系2、prototype与_proto_的关系2.1案例3、原型链定义3.1案例1案例1图解3.2案例23.3案例33.4案例44、对象的成员操作和原型对象的操作4.1案例1一、原型1、原型定义所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象所有函数都有一个prototype(原型)属性,属性值是一个普通的对象所有引用类型的__proto__属性指向它构造函数的prototype

2022-05-12 17:01:52 114

原创 JavaScript的函数与构造函数

函数与构造函数1.函数1.1函数的arguments1.2函数的length1.3函数的name2.构造函数2.1案例12.2构造函数解析过程2.3案例23.补充new关键字1.函数1.1函数的arguments function fn(a,b){ var c=a+b console.log(c) //函数内部有一个关键字 arguments,代表实际传入函数的参数列表(类数组) console.log(arguments) } //实际传入函数的参数(实参) 的个数可

2022-05-12 10:35:27 721

原创 JavaScript中的this

【this,一个特殊的对象】1、全局作用域里的this: this-->window console.log(this);//window2、函数里的this,全局下直接调用函数: this-->window function fn6666(){ console.log(this,1111111111) } fn6666() window.fn6666()结果:3、函数里的this,new 操作调用函数:this-->实例对象1. 创建

2022-05-12 08:49:24 249

JavaScript中的Date对象

Date手册 Date对象的方法分为2种形式:本地时间和UTC时间。同一个方法,一般都会有2种时间格式操作(方法名带UTC的,就是操作UTC时间),我们主要学习本地时间的操作。

2022-07-06

空空如也

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

TA关注的人

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