- 博客(60)
- 收藏
- 关注
原创 el-checkbox复选框做单选
思路:(所有选择项都在一个数组中)给每一个选项设置一个是否选中的属性(checked),通过change事件来改变,数组中每一项的checked,如果change事件的值是true,那么就要把数组中(如根据唯一值:id)不等于当前选择项且checked为true的要变为false,一般的,@change事件回调参数是更新后的值,这里我们需要知道当前变化的是哪一项所有@change事件要这么写:@change=“handleChange($event, item)”
2024-05-08 11:21:52
1146
原创 一些js的基础
原始值(基本类型):Number String Boolean undefined null Symbol bigInt(空值、初始化组件、函数、销毁函数、占位)ECMAscript 语法、变量、关键字、保留字 值 原始类型 引用类型运算 对象 继承 函数。1、编译型 翻译过程 源码 -> 编译器->机器语言 ->可执行文件。动态语言基本上就是脚本语言就是解释型语言就是弱类型语言。2、解释型 源码->解释器->解释一行就执行一行。5、JS线程执行一个又一个的任务片段。静态语言 编译型语言 强类型语言。
2024-05-08 10:51:27
525
原创 【无标题】
globel{脚本块(script block)也是一个作用域,整个脚本都是一个脚本代码块,所以在这个脚本中在变量声明语句以下的部分都可以访问b:?第一个console.log©会报错: Uncaught ReferenceError: Cannot access ‘c’ before initialization 未捕获的引用错误:在变量C初始化之前不能访问变量c()变量在状态的阶段,就是let const声明变量之前不能访问某个变量的区域或阶段就是。
2024-05-05 14:43:45
265
原创 冒泡捕获流、事件与事件源对象、事件委托
事件流:描述从页面中接收事件的顺序 冒泡 捕获IE提出的 事件冒泡流 (Event Bubbling)Netscape 网景 事件捕获流 (Event Capturing)事件流:事件捕获阶段、处于目标阶段、事件冒泡阶段事件对象 事件触发后的详细信息 里面有一个target srcElement 火狐只有target IE只有scrElment 谷歌两个都有。
2024-04-28 10:54:04
180
原创 输入及状态改变事件、搜索框
oninput出自于HTML5的规范里面,IE9某些版本及IE9以下使用的是onpropertychange。由于placeholder不好修改,不容易自定义,所以一般用focus和blur来实现placeholder。在写鼠标输入事件的时候考虑到兼容性要两个都写。onchange失去焦点才会触发。
2024-04-28 10:31:08
1618
原创 鼠标行为、坐标系、pageX/Y、拖拽
鼠标行为document.onclick = function(e){ var e = e || window.event; console.log(e.clientX,e.clientY);}clientX clientY 鼠标位置相对于当前页面可视区域的坐标(不包括滚动条的距离)X/Y 同clientX/Y 老版本firefox不支持pageX/Y 鼠标位置相对于当前文档的坐标(包含滚动条的距离)IE9以下不支持layerX/Y 同pageX/Y,IE11以下同 client
2024-04-26 15:34:53
286
原创 根据输入的数字,对树形数组进行级数筛选
实现树形数组中每一级的子元素按照级数进行筛选。如果级数输入为2,则返回每个元素只包含两级,如果输入3则返回每个元素只包含3级。思路:根据传入的级数进行递归。
2024-04-18 14:17:01
105
原创 关于unaipp生成的vue3项目开启微信云函数所遇到的问题
使用uniapp创建的vue3项目,需要用到H5静态页面跳转小程序的时候(具体操作看微信开发文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/staticstorage/jump-miniprogram.html),会用到微信开发者工具的云开发,那么在创建的项目里面是没有用到云函数的,就没有云函数的文件夹。
2023-10-15 11:22:22
1417
原创 解构赋值、函数默认值
解构失败,变量如果在右边没有对应的值,就会用undefined填充;不完全解构,就是值多了。数组的解构会存在顺序问题,而对象的解构不会有顺序问题,它是根据对应的属性名进行解构的。结构完全一样的两个对象可以通过解构进行变量赋值。没有解构赋值之前我们定义三个变量会这样写。ES6新增的一个语法特征。如何取出wangwu?
2023-09-03 16:47:10
359
原创 自定义日期组件
思路: 三个数组分别存放年月日,年数组可以更加自己的需要来设置,比如说直接写死,或者设置当前年份的前后多少年可选(这个需要另外写函数),月份写死就是1-12月,日期数组根据所选年份和月份,通过new Date(年份, 月份, 0).getDate(),获取到当前所选月份的最后一天,从而确定这个月的天数。首先是获取到存放年月日的盒子,设置好年月日数组,然后对其进行初始化,然后给年月日的盒子绑定scrollend事件,处理滚动后的值。
2023-08-20 21:44:01
169
原创 关于浏览器调试项目出现crbug/1173575, non-JS module files deprecated
解决:浏览器中的netWork,在这个位置选择No throttling,就可以了,至于为什么会出现这个问题和为什么这么解决我也不知道,望大神解答。
2023-08-06 12:18:39
163
原创 初步了解Canvas API
HTML5新增的标签:配合JavaScript Canvas技术的画布标签原本没有大小的,需要设置,设置canvas的width属性和height属性(不是在style中设置)</
2023-07-17 16:42:29
122
原创 面试记录06/27
slice()是纯粹的读取操作,不会对原数组进行修改,而splice()是对数组精选操作会修改原数组slice()的参数是起始位置和结束位置,返回选定元素组成的新数组;splice()的参数是起始位置、删除的元素的个数、插入的元素(可选参数)返回被删除的元素组成的数组,没有被删除的元素就返回空数组slice()的结束位置是不包含再选取范围内的,而splice()中删除元素的个数是包含再操作范围内的slice()不会改变原数组的长度,而splice()可以改变数组的长度。
2023-06-28 15:05:23
52
原创 防抖和节流
防抖函数的原理:把触发非常频繁的事件合并成一次去执行,在指定时间内值执行一次回调函数,如果在指定时间内又触发了一次事件,则回调函数的执行事件会在此刻重新开始计时,防抖是将多次执行变为最后一次执行,也就是说在N秒内(规定的时间内),只要你再次触发,计时器就会重新开始计时
2023-05-13 18:36:51
70
原创 事件处理函数、冒泡捕获、阻止冒泡默认事件
句柄绑定的方法,事件作用在哪个元素身上,哪个元素就是事件源,这样子的事件绑定如果写两个同样的事件处理函数,后面的会覆盖前面的。事件捕获和冒泡刚好相反,如果元素又绑定了冒泡又绑定了事件捕获,事件捕获先执行,但是在事件源的时候是按正常的顺序执行。w3c规范,IE9以下不支持, 可以给同一元素的同一事件类型,绑定不同的事件处理函数,false为是否捕获。绑定事件处理函数、事件处理程序, 通过一个事件,能得到一个什么样的结果。事件,元素天生就具备的,所以通常说的绑定事件是绑定事件的处理函数。
2023-04-24 11:42:36
93
原创 读写样式属性、操作伪元素、元素运动初探
读写样式属性DOM间接操作CSS 通过查看计算样式window.getComputedStyle(elem, null)[prop];方法,第二个参数null,其实是用来获取伪元素的样式的,但是IE8及以下是不支持这个方法的,它们有自己的方法elem.currentStyle[prop]elem.style是可读可写的,属性用小驼峰写;值一定是字符串;复合值一定拆解负值,比如border要拆开写 elem.style.borderWidth = '1px';elem.style.borderColor=
2023-04-24 11:40:58
70
原创 日期对象,计时器
setInterval() 计时器 window上的 每隔特定的毫秒数时间,执行一次函数,有返回值,返回每个定时器的唯一标识。如果把时间放在外边用变量保存的时候,它在执行的时候只会取一次值。setTimeout (function(){}, time) 延时器 延迟特定的毫秒数执行一次函数。setInterval和setTimeout的唯一标识并不冲突。,星期天是第一天,0 是星期天。执行定时器会返回一个标识。
2023-04-24 11:26:45
49
原创 节点创建删除、元素属性设置获取、节点属性
c.insertBefore(a,b)插入,在父级c节点下的子节点b之前插入a,Node.prototype。appendChild()增加子节点,动态的增加节点和动态的剪切节点在Node.prototype上。在原型上写一个,寻找兄弟元素节点的方法,为正找之后 ,为负数,之前的第N个,为0 找自己。父节点.removeChild(子节点)只是从dom树上删除,这个值还保存在内存中。在原型上写一个遍历父元素的子元素节点的方法。在原型上写一个找出一个元素的第N层父元素。写一个子元素逆序的方法。
2023-04-24 11:21:47
481
原创 获取元素节点,遍历树
nextElementSibling 返回元素节点之后的兄弟元素节点(不包括文本节点、注释节点) previousElementSibling IE9及以下不支持。获取属性节点 getAttributeNode(),对于属性节点来说,用value和nodeValue都能获取。nodeValue 属性节点、注释节点、文本节点都有相应的nodeValue。寻找子元素结合chileNodes封装,只返回元素节点,过滤了其他的节点。hasChildNodes()判断元素是否有子节点,换行也有文本节点。
2023-04-24 11:21:13
180
原创 document对象、获取元素、节点、遍历树
其中,一个子元素只有一个父节点,一个父节点不一定只有一个子元素。Node.childNodes:获取指定节点的所有子节点集合,即包括元素节点,也存在其它节点。节点不是元素,节点是包含元素的,元素是节点中的一部分,节点中的元素节点也成为DOM元素,也就是通过document对象上的方法获取到的元素对象。Element.nextElementSibling:只读,获取元素节点的下一个兄弟元素节点。节点包含元素节点和其他元素,如何之间操作元素节点不受其他节点影响,可以通过直接获取元素节点。
2023-04-24 11:19:20
948
原创 变量生命周期、垃圾回收原理
针对函数内部的变量,就是局部变量,它只在函数执行的时候存在,当函数执行完成后局部变量就被销毁。JavaScript不需要手动清除回收垃圾,JS引擎包含垃圾回收机制。引用计数 reference counting 引用值不为0就不回收。标记清除 mark and sweep。JS垃圾回收机制的原理。1、找出不再使用的变量。3、固定的时间间隔运行。2、释放器占用的内存。
2023-04-24 10:36:55
94
1
原创 深拷贝与浅拷贝
思路:循环遍历需要拷贝的源对象,判断当前属性是否是元素自身 的属性,如果是的接着判断是否是引用类型同时不为null,通过typeof判断,然后根据不同的类型设置不同的接收容器,如果是数组,设置一个数组否则设置对象。上面的写法拷贝的并不是对象的值,而是指向对象值的引用,就会导致改了一个另一个也会跟着改,虽然“拷贝”了,但是两个对象没有完全独立。上面写法任然存在问题,它只处理了原始值,没有处理引用值,对象中的引用值任然是会指向同一个地址的,因此就需要深拷贝。解决浅拷贝中对象属性为引用值的情况。
2023-04-24 10:27:28
51
原创 对象遍历、caller_callee、this
instanceof判断原始值数据类型都是false,因为它本身是用来判断构造函数的prototype属性是否存在某个实例对象的原型上,而原始数据类型不是对象,不存在属性,因此不能判断。this是指代当前执行期上下文的一个属性,在非严格模式下总指向一个对象,this实在函数执行的前一刻产生的,因为在这时会产生函数执行期上下文。A instanceof B A对象的原型里到底有没有B的原型,只要在原型链上面重合的 instancof都是true。既然函数没调用,就不会有函数执行期上下文,那么。
2023-04-24 10:21:41
33
原创 关于vue-quill-editor富文本编辑器使用el-upload上传文件图片的问题(上传文件)
【代码】关于vue-quill-editor富文本编辑器使用el-upload上传文件图片的问题(上传文件)
2023-04-23 14:12:17
504
原创 构造函数及实例化原理、包装类
使用new关键字实例化构造函数的时候,构造函数会在内部隐式的生成一个this对象,并将构造函数的this指向这个空对象(并不是真正的空对象,里面有__proto__保存了构造函数的原型),当调用构造函数的时候,构造函数内部会为这个新对象赋值,最后把这个this对象隐式返回。通过new关键字对构造函数进行调用,此时构造函数内部的this,不在指向window,而是指向实列化对象,new关键字改变了构造函数内部的this指向。被执行的时候这个时候Car也有自己的AO,AO里面默认的存了一个this对象。
2023-04-23 13:50:24
86
原创 函数基础与种类、形参实参及映射、变量类型
1、它是一个固定功能或者程序段被封装的过程,实现一个固定的功能,在这个封装题中需要一个入口和出口,入口就算参数,出口就算返回值。2、解耦合,通过函数,让一个模块具有更高的利用率,拥有独立性和单一责任制。函数名的命名规则 不能数字开头,可以包含字母数字下划线 小驼峰命名法。最基本的函数写法就是函数声明 function声明函数的关键字。函数形参和实参数量可以不相等。
2023-04-23 11:49:02
52
原创 CSS权重
text-decoration: underline(下划线,ins标签也是下划线)/line-through(删除线)/overline(上划线)/none(去掉线)宽高的属性:width, height, min-width, min-height, max-width, max-height。设置字体 font-family可以写复合值,中文字体标识,有空格的字体标识要加双引号。浏览器默认的字体大小是16px,浏览器设置字体的时候是设置高度,宽度自动缩放。宽高、字体、颜色、边框。
2023-04-23 11:42:33
33
原创 CSS盒模型
box-shadow:水平位置(必填) 垂直位置(必填) 模糊距离 阴影的尺寸 阴影颜色 阴影的种类(inset outset)文本属性:color, font, text-align,vertical-align,whitespace。*层,它就到新建的文档层上去了,所以就会导致下边的元素会上去。* 设置了定位后,会在当前的文档层之上在重新建一个文档。相对定位: 设置相对定位后,依然会新建文档层,但是之前文档层的位置还会保留。绝对定位 :设置了定位后,会在当前的文档层之上在重新建一个文档。
2023-04-23 11:42:12
42
原创 立即执行函数,闭包、对象、构造函数、实列化
/6表达式是忽略函数名的// (function b(){})是一个表达式,表达式是忽略函数名的 var a = 10;}) {面试题。
2023-04-23 11:40:09
44
原创 循环、引用值初识、显式及隐式类型转换
Number(“1a”) typeof(Number(“1a”) )是NAN 就是说字符串中有非数字就是转成NAN。然后再打印console.log(typeof(a)) ,typeof一个未定义的东西,得到的就是undefined。parseInt(要转换的数,radix),有2个参数,第二个参数表示转换数字想要的进制。任何基本类型String()都得到对应的字符串 toString(radix)可以填进制。:通过函数String()、Number()、Boolean()
2023-04-23 11:27:18
66
原创 原型、原型链、闭包立即执行函数、插件开发
原型prototype是function对象的一个属性,打印出来他本身也是一个对象,它以对象的形式存在,是构造函数的静态属性prototype,在内存中它里面保存的是该对象的引用原型解决了什么问题?提出出相同的内容,写到prototype上从而减少代码冗余,降低耦合,让构造函数创建的实列对象都能够拥有共享实例化对象不能对构造函数的prototype进行修改通过实列化的对象是不能对HandPhone.prototype对上的属性进行增删改的,只能查。constructor指向构造函数本身。
2023-04-23 11:26:31
48
原创 cookie增删改查,用户追踪
cookie存在的意义:因为HTTP协议是无状态的,当浏览器向服务器发出请求,服务器没办法区分浏览器用户身份及用户相关操作,所以cookie被作为一种存储手段,但是浏览器每次请求都会在请求头中带上cookie,会对性能方面有一定的影响,且它有大小限制,因此后来浏览器又退出了新的API ->storage。1、增加cookie,如果两次增加的cookie具有相同键名,后边的会覆盖前面的,但是在不同Domain和path下,不会覆盖。设置域:指定cookie在哪个域下可以被接收,如果不指定默认是当前源。
2023-04-21 16:35:57
182
原创 鼠标行为预测技术
因为有时候我们把鼠标从主菜单移到子菜单(斜移)的时候会切换子菜单,但是我们的目的并不是切换子菜单,所以需要通过鼠标行为的预测来设置延时器,以便斜移鼠标到子菜单的时候,其他主菜单不切换。**重点:**预判鼠标走的方向。
2023-04-21 16:19:16
203
空空如也
图片中的代码主题风格是什么,对应哪个vscode插件
2024-08-07
nuxt2 layout中使用使用beforeRouteEnter
2024-04-19
前端怎么实现这种布局
2024-03-13
uniapp配置vue.config.js
2023-09-26
uniapp频繁触发timeupdate在真机上视频会一直转圈圈
2023-09-25
nuxt使用location.herf跳转页面报错
2023-08-14
移动端时间日期选择组件
2023-08-06
nuxt2如何写移动端页面
2023-08-05
koa-generic-session的使用
2023-05-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人