文章分类 - 前端面试
20230620
摘要:点击查看代码 <template> <view class="coinCenter"> <scroll-view scroll-y="true" :refresher-enabled="true" :refresher-triggered="retriggered" :style="`height:
阅读全文
摘要:flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。 flex-grow :flex-grow属性定义盒子的放大比例,默认为0 不放大 其他数字按比例放大 flex-shrink:如果所有项目的flex-shrink属
阅读全文
摘要:同一处的多个装饰器是按照洋葱模型,由外到内进入,再由内到外执行
阅读全文
摘要:作用: 1 验证码是目前大多网站所支持并使用于注册登录的。就在于其作用能有效防止恶意登录注册,验证码每次都不同, 这就可以排除,用其他病毒或者软件自动申请用户及自动登陆.有效防止这种问题。 2 短信验证码等可以验证用户的合法性 1 智能选图 文字点选 短信 滑动 等一般 都是购买的服务 2 图片文字
阅读全文
摘要:js判断字符串是否连贯 var name="ABCDEF"; //需要验证的字符串 var lcontinuity=0; //用于连贯个数的计数 for(var i=1;i<name.length;i++){ if(((name[i].charCodeAt())-(name[i-1].charCod
阅读全文
摘要:二分查找算法 const func = (array, target) => { let left = 0 let right = array.length - 1 while (left <= right) { let mid = Math.floor((left + right) / 2) if
阅读全文
摘要:点击查看代码 // 目标:初始化 three.js 基础环境 import * as THREE from 'three' import { OrbitControls } from 'three/addons/controls/OrbitControls.js' import { CSS3DRen
阅读全文
摘要:把原生 DOM 标签转换后加入到 3D 场景空间中显示 function domTo3D() { // 1. 准备原生 DOM 标签 const tag = document.createElement('span') tag.innerHTML = '我是文字' tag.style.color =
阅读全文
摘要:支持多种文件(docx、excel、pdf)预览的 vue 组件库。 同时支持 vue2/3 使用简单 支持本地文件 支持远程地址 pdf 预览 安装依赖 npm i @vue-office/pdf <script setup lang="ts"> // 引入 VueOffice 组件 import
阅读全文
摘要:简介 虚拟列表是一种优化长列表渲染的技术,它可以在保持流畅性的同时,渲染大量的数据。 在传统的列表渲染中,如果列表非常长,会导致渲染时间过长,页面卡顿,用户体验变得非常差。而虚拟列表则是只渲染可见区域内的数据,而非全部渲染,这样就可以大大提高渲染效率,保持页面流畅性。 应用场景 虚拟列表技术在大数据
阅读全文
摘要:axios请求重试_axios-retry插件 <script setup lang="ts"> import axios from 'axios' import axiosRetry from 'axios-retry' const request = axios.create({ baseURL
阅读全文
摘要:点击查看代码 <script setup lang="ts"> import axios from 'axios' const request = axios.create({ baseURL: 'http://localhost:3000', // 设置请求超时时间为5秒 timeout: 200
阅读全文
摘要:点击查看代码 axios请求中断_下载中断和下载进度 <script setup lang="ts"> import axios from 'axios' import { ref } from 'vue' let abort: AbortController const progress = re
阅读全文
摘要:函数柯里化 function setSumMark (length) { let arr1 = [] function myCurrying (...argus) { arr1.push(...argus) if (arr1.length length) { let res = arr1.slice
阅读全文
摘要:点击查看代码 对于为什么要传入一个函数来更新状态,是为了确保在更新状态之前,使用最新的状态值进行计算。 让我解释一下。在React中,当我们调用setXXX钩子来更新状态时,React并不会立即更新状态值。相反,它将更新请求加入到一个队列中,并在稍后的时间点批量处理这些更新请求。这样做是为了优化性能
阅读全文
摘要:说明 构造函数继承实现属性继承 以父类原型纯净对象 改变constructor的指向(如果不改变就会指向父类,要想实现继承要指向子类) create的第二个参数会覆盖掉第一个参数中的相同数据
阅读全文
摘要:手写一个 bind 方法 /** * 手写一个 bind 方法 * 函数名字为 myBind */ Function.prototype.myBind = function (targetObj, ...args) { return (...argus) => this.call(targetObj
阅读全文
摘要:js手写一个apply /** * 手写一个apply方法 * 函数名字为 myApply * symbol优化 */ Function.prototype.myApply = function (targetObj, args) { // symbol优化 let key = Symbol('ke
阅读全文
摘要:js手写一个call /** * 手写一个call方法 * 函数名字为myCall * symbol优化 */ let obj = { name: '白衣', age: 3, } function getYaer (name, age) { // console.log('函数内的this',thi
阅读全文
摘要:``` 虚拟DOM 虚拟DOM 本质上是一个js对象 ,通过对象来表示真实的DOM结构。 key是虚拟DOM对象的标识,当状态中的数据发生变化时,Vue会根据 新数据 生成 新的虚拟DOM key的原理及作用 Key是对节点进行的一个标识,在Vue中,Key作为Vue中对比算法的标识, 在数据修改后
阅读全文