- 博客(134)
- 收藏
- 关注

原创 web前端面试题(面试题大全)
常见面试题(1)常见面试题(2)常见面试题(3)常见面试题(4)常见面试题(5)常见面试题(6)常见面试题(7)常见面试题(8)
2022-12-03 12:26:56
1110
2
原创 js生成的随机数
虽然手动生成UUID较为复杂且容易出错,但理论上你可以通过生成随机数和格式化字符串来手动实现。这种方法不推荐使用,因为它依赖于对随机数生成和字符串格式化的深入理解,并且容易出错。如果你在一个不支持crypto.randomUUID()的环境中(例如某些旧浏览器或Node.js的旧版本),可以使用第三方库如uuid。从Node.js 15.3.0和现代浏览器开始,可以使用crypto模块中的randomUUID()方法生成UUID。
2025-03-10 10:30:55
158
原创 深入了解Python标准数据类型之字符串
字符串方法:Python提供了丰富的字符串方法,如upper()(将字符串转为大写)、lower()(将字符串转为小写)、strip()(去除字符串两端的空格)等。字符串拆分和连接:使用split()方法可以根据指定的分隔符将字符串拆分为列表,而join()方法可以将列表中的字符串连接起来。字符串查找和替换:通过find()、index()、replace()等方法可以查找指定子串或替换字符串中的部分内容。字符串长度:可以使用len()函数获取字符串的长度。
2025-02-21 08:48:47
184
原创 vue中computed和watch的区别,以及适用场景
使用场景:computed----当一个属性受多个属性影响的时候,使用computed-------购物车商品结算。watch----当一条数据影响多条数据的时候,使用watch-------搜索框。使用场景:当一个值受多个属性影响的时候------------购物车商品结算。使用场景:当一条数据的更改影响到多条数据的时候---------搜索框。
2025-02-10 11:18:13
704
原创 vue中使用lodash的debounce(防抖函数)
如果网页中有 2 个以上的组件实例,那么所有的组件都会应用 相同 的防抖函数 methods.debouncedHandler — 这会导致防抖出现故障。组件使用 export default { …} 导出的 options 对象,包括方法,会被组件实例重用。为什么不在method中写好方法,在template中直接调用,就像这样。这两种使用方式效果一样。
2025-02-10 11:04:56
788
原创 前端防抖(Debounce)和节流(Throttle)详解
在前端开发中,处理频繁的事件触发是一项常见任务,例如窗口的 resize、页面滚动的 scroll 事件、用户输入的 keyup 或 keydown 事件等。它的原理是,当事件被触发时,延迟执行事件处理函数,并且在延迟时间内如果事件再次被触发,则重新开始计时。它的原理是,当事件被频繁触发时,函数会按照一定的时间间隔执行,而不是每次触发事件都执行。在这个例子中,handleScroll 函数会在每次滚动时执行,但每隔一段时间只会执行一次,即使 scroll 事件在这段时间内被频繁触发。
2025-02-10 09:03:19
1130
原创 【vue3 tinymce <br/>标签的使用】
还有一些外部库或插件可能提供更直接的方式来处理这种情况,例如使用一个自定义的插件或者利用现有的文本处理库(如DOMPurify)来清理HTML内容。标签,你可以通过TinyMCE的配置来实现这一点。另一种方法是使用TinyMCE的setup配置,在其中添加一个事件监听器来处理粘贴或按键事件,从而手动删除多余的。在Vue 3中使用TinyMCE编辑器时,如果你希望在用户按下回车键时自动删除或移除多余的。通过上述方法之一,你可以在Vue 3中使用TinyMCE编辑器时控制和管理回车键产生的多余。
2025-01-24 08:41:44
230
原创 vue3自定义高亮指令
2、在directives文件夹中创建index.js。3、在main.js文件中填写以下内容。1、创建文件夹directives。
2025-01-10 09:13:15
178
原创 Vue3路由的两种模式history模式和hash模式
之前我们写的项目启动后,浏览器访问时,路径中会有个#/,会导致不够美观,因为一般的访问地址都是。
2024-12-24 09:09:41
630
原创 数据类型检测的方式有哪些?
不同的对象类型调用 toString 方法时,根据原型链的知识,调用的是对应的重写之后的 toString 方法(function 类型返回内容为函数体的字符串,Array 类型返回元素组成的字符串…),而不会去调用 Object 上原型 toString 方法(返回对象的具体类型),所以采用 obj.toString() 不能得到其对象类型,只能将 obj 转换为字符串类型;得到对象的具体类型时,应该调用 Object 原型上的 toString 方法。原型链中能否找到该类型的原型。
2023-07-21 15:24:49
220
原创 JavaScript 有哪些数据类型,它们的区别?
BigInt 是一种数字类型的数据,它可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大整数,即使这个数已经超出了Number 能够表示的安全整数范围。JavaScript 共有八种数据类型,分别是 Undefined、Null、Boolean、 Number、String、Object、Symbol、BigInt。原始数据类型直接存储在栈(stack)中的简单数据段,占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储;在数据结构中,栈中数据的存取方式为先进后出。
2023-07-21 14:31:16
128
原创 CSS3新增了哪些新特性?
动画这个平常用的也很多,主要是做一个预设的动画。和一些页面交互的动画效果,结果和过渡应该一样,让页面不会那么生硬。background-size属性常用来调整背景图片的大小,主要用于设定图片本身。通常情况,背景都是覆盖整个元素的,利用这个属性可以设定背景颜色或图片的覆盖范围。能够规定水平阴影、垂直阴影、模糊距离,以及阴影的颜色。当我们设置背景图片时,图片是会以左上角对齐,但是是以。:转换元素的位置(围绕那个点进行转换),默认值为。颜色渐变是指在两个颜色之间平稳的过渡,box-shadow:为元素添加阴影。
2023-06-12 09:05:04
173
原创 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?
实现元素水平垂直居中的方式:利用定位+margin:auto利用定位+margin:负值利用定位+transformtable布局flex布局grid布局。
2023-06-12 08:56:03
101
原创 css选择器有哪些?优先级?哪些属性可以继承?
总体上,CSS选择器可以灵活应用于HTML标记,通过css属性来装饰网页页面,并且继承性的存在可以进一步减少代码冗长度。
2023-06-12 08:45:48
261
原创 微信小程序生命周期
当切换页面需要多次渲染数据改变状态,建议在onShow中使用,当只需初始化一次的时候,可在onLoad或者onReady中使用。首先,前一个页面隐藏,在加载下一个页面之前,需要先初始化新页面的组件。切换到后台时,小程序和页面并没有卸载,只会触发隐藏。当B页面返回到A页面时,触发onUnload,当不清缓存,再次进入A页面时,只触发onShow。从A页面切换到B页面时,A页面触发onHide,B页面触发的生命周期顺序与上面一致;切换到后台时,小程序会先触发onShow,之后才是页面的onShow。
2023-05-23 09:34:55
1858
原创 常见面试题(8)
严格模式:当我们在开发项目时,难免会有写的不规范的js代码,当我们开启严格模式后就会提示我们当前的代码有需要改进的地方,比如定义了一个未使用的变量。定义未使用的变量或方法、严格使用双引号、等等。
2023-05-22 10:00:24
110
原创 常见面试题(7)
对于普通数据类型一般来说可使用defineproperty,但是对于复杂的数据类型比如说,数组,或者对象这类的引用数据类型来说,就要使用proxy,还有就是使用defineproperty来说无法检测数据的改变,如果想要修改数据的话还需要用到原生的$set等方法,修改完后页面的数据才会发生改变,但对于proxy来说不会发生这样的情况vuex就是要实现全局的组件实现组件之间的一个共享状态,一个组件更新之后,其他组件也能接受到一个更新的值先下载vuex,在main,js中全局导入app.use。
2023-05-22 09:56:49
109
原创 常见面试题(6)
vue的组件是基于vnode的,整个html结构用js的vnode对象树来表达,那么服务端可以通过解析js对象树,在服务端提前生成具有实际表达作用的html字符串,在客户端(浏览器中)每次数据变化的时候通过新旧vnode对象树的对比用diff算法(vue diff算法不了解的可以去搜索一下)去寻找更新最小最优的变化集合,然后再去更新实际的dom。2、$route是一个跳转的路由对象,可以认为是当前组件的路由管理,指当前激活的路由对象,包含当前url解析得到的数据,可以从对象里获取一些数据。
2023-05-22 09:51:43
123
原创 常见面试题(5)
vue2中使用Vue.prototype.$http = axiosvue3中使用app.config.globalProperties.$http = axios。
2023-05-22 09:47:33
177
原创 常见面试题(4)
当对象在查找某一个属性的时候,会先在当前作用域下去查找这个属性,如果没有找到 的话就会去上一个作用域下面去查找,如果还没有找到的话,就以此类推的去再上一个 里面去查找,直到查找到window的顶级对象还没有找到的话就会报错,或者是这个变 量时一个全局的一个隐式变量。,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。// 拿到event对象。
2023-05-22 09:43:41
104
原创 常见面试题(3)
其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率,bom的核心对象是window,hash:url中#后面的字符串,没有返回空字符串 host:服务器名称和端口号 href:完整的url, port:端口号 search:字符串查询。BOM它是一个浏览器的一个对象模型,它指向的window的顶级对象,经常作为浏览 器窗口的一些变化出现,比方说浏览器的前进、后退以及刷新使用。
2023-05-22 09:41:37
109
原创 BOM对象
reload()方法的唯一参数,是一个布尔类型值,将其设置为true时,它会绕过缓存,从服务器上重新下载该文档,类似于浏览器中的刷新页面按钮。window对象中除了前面提过的alert()和prompt()方法外,还提供了很多弹出对话框和窗口的方法,以及相关的操作属性。作用:与open()方法功能相反的是close()方法,用于关闭浏览器窗口,调用该方法的对象就是需要关闭的窗口对象。4、navigator(浏览器对象):用于获取浏览器的相关数据,例如浏览器的名称、版本等,也称为浏览器的嗅探器。
2023-05-11 11:21:49
1194
原创 animation和traslation定义动画的区别?
主线程一般是对 js 运行的、页面布局、生成位图等等,然后把生成好的位图传递给排版线程,而排版线程会通过 GPU 将位图绘制到页面上,也会向主线程请求位图等等;我们在用使用 aniamtion 的时候这样就可以改变很多属性,像我们改变了 width、height、postion 等等这些改变文档流的属性的时候就会引起,页面的回流和重绘,对性能影响就比较大,但是我们用 transition 的时候一般会结合 tansfrom 来进行旋转和缩放等不会生成新的位图,当然也就不会引起页面的重排了;
2023-05-08 15:42:24
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人