- 博客(60)
- 收藏
- 关注
原创 输入框在safari浏览器输入数字会有问题
输入框限制了maxLength,使用了type="number”,但是在Safari浏览器仍然可以输入非数字内容,可以超过限制的长度,但是在控制台打印输出,则不会输出输入的值。
2023-12-11 10:25:32
474
原创 网络层面随笔
10.状态码100: 服务器检查请求头是否有问题。没问题返回100,有问题返回417.101: 表示正在切换协议,如从http切换到websocket.
2023-11-07 18:17:47
233
原创 前端缓存机制——强缓存、弱缓存、启发式缓存
若是未找到,或者资源已过期,则浏览器缓存返回未找到资源的信息,浏览器重新发起服务器请求,由服务器提供所需要的资源,服务器返回请求的资源后,浏览器将该资源存入浏览器的缓存中,以提供下一次使用。如果存在公共缓存服务器,浏览器缓存失效后,会先请求公共缓存服务器,公共缓存服务器失效后会重新请求资源服务器更新公共缓存服务器中的资源,然后返回给浏览器。在强缓存中了解到缓存有效期由Expires和Cache-Control中的max-age来决定的,那么如果响应头中不存在这两个字段,缓存的有效期怎么计算?
2023-11-07 16:57:22
822
原创 Nvm(node)设置node默认版本
这里的版本号都是你要固定使用的版本号。若要使用其他的版本,则使用nvm use 版本号即可。3.在列表中选择对应版本的Node.js,并记下相应的版本号。nvm alias default 版本号。若成功则是default->版本号 (->v版本号 )4. 更改默认的版本号。5.查看是否修改成功。
2023-11-07 15:22:40
5745
原创 判断是手机端还是PC端
在控制台输入console.log(window.userAgent) 会输出pc或者mobile(将pc浏览器设置成手机模式)
2023-11-07 13:49:54
59
原创 Dialog组件
这可以提高性能,避免不必要的渲染。需要注意的是,如果对话框内部包含有动态内容或受到其他因素影响的组件,可能需要将 forceRender 设置为 true,以确保内容正常渲染和更新。3.当不需要上边的title栏的时候,noHeader 或者加上 header="",需要的时候则加上header={},并且{}里可以写<div>等标签,如上所示。8.destroyOnClose :这个属性就是说在Dialog关闭的时候可以把元素清除,下次打开的时候重新渲染,那样表单填的数据就也会被清空掉。
2023-11-07 13:21:51
67
原创 .some方法、vh、多列布局、DNS域名解析过程、空页面文字内容渲染
这个方法主要用来判断nodeEndTime这个数组中数组中是否有至少一个非假值的元素。数组中的每个元素,如果至少有一个元素是真值(不是。或空字符串等假值),则。
2023-10-08 18:45:55
173
原创 前端相关题目随笔
变量提升就是变量和函数申明在内部的任何位置都会被提升到它们所在的作用域的顶部,但是,提升的作用仅仅在于声明,不会影响赋值和初始化,提升之后该变量被认为是“undefined”,只有运行到后面的赋值语句后,才能被赋准确的值。mouseout同理。3. 禁止使用未来保留字: 严格模式中,不能将一些未来保留字(如`implements`、`interface`、`let`、`package`、`private`、`protected`、`public`、`static`和`yield`)用作变量名或函数名。
2023-10-03 17:24:26
280
原创 前端面试题
1、js数据类型基本数据类型 Number、String、Boolean、Null、Undefined、Symbol、bigInt 引用数据类型 object、Array、Date、Function、RegExp2、js变量和函数声明的提升在js中变量和函数的声明会提升到最顶部执行 函数的提升高于变量的提升 函数内部如果用 var 声明了相同名称的外部变量,函数将不再向上寻找。 匿名函数不会提升。3、闭包闭包就是能够读取其他函数内部变量的函数 闭包基本上就是一个函数内部返回一个函数 好
2023-09-26 17:23:58
138
原创 setTimeout,setInterval,setImmdeiate的区别
需要注意的是,`setImmediate` 并不是标准 JavaScript 的一部分,它通常只在一些特定的环境中可用,如 Node.js。- `setImmediate` 用于在当前事件循环的下一个迭代中执行一个函数,尽可能快地执行。- `setImmediate` 尽可能快地在当前事件循环的下一个迭代中执行函数。- `setInterval` 用于在一定的时间间隔内重复执行一个函数。- `setTimeout` 在指定的延迟时间后执行函数,只执行一次。- 它接受两个参数:要执行的函数和延迟的毫秒数。
2023-09-25 16:59:25
798
原创 Webpack插件与Webpack之间的关系
插件允许你在Webpack的构建过程中执行各种任务,以满足特定需求或优化你的项目。总之,Webpack插件是用于扩展Webpack功能的重要工具,它们允许你在构建过程中执行各种任务,从而更好地管理和优化你的前端项目。通过合理使用插件,你可以满足不同项目的需求,并提高构建过程的效率和性能。然而,对于复杂的项目需求,你可能需要更多的功能,这时就需要使用插件。上面的示例中,`HtmlWebpackPlugin`是一个常用的插件,用于自动生成HTML文件并将打包后的脚本自动引入其中。
2023-09-07 14:02:23
586
原创 哪些操作影响重排
当通过JavaScript访问offsetTop、offsetLeft、offsetWidth、offsetHeight等属性时,浏览器可能需要重新计算元素的位置和尺寸,从而触发重排。修改页面上的字体或字体相关属性可能导致浏览器重新计算文本的大小和布局,触发重排。当用户滚动页面时,浏览器需要重新计算可视区域内元素的布局,可能触发重排。修改元素的宽度和高度,包括边距、填充和边框大小,都可能导致重排。,浏览器默认字体大小的改变可能会导致所有文本的重排。,浏览器的默认缩放级别的改变可能会导致重排。
2023-09-06 14:15:40
452
原创 前端性能优化方法
对于单页面应用(SPA),考虑在服务器端进行部分渲染,以提供更快的首次加载速度和更好的SEO。使用Service Workers来实现离线缓存策略,提供更快的加载速度和离线访问。将多个CSS和JavaScript文件合并成较少的文件,减少HTTP请求次数。使用srcset和sizes属性提供不同分辨率的图像,以适应不同设备。延迟加载非关键资源,如图像和广告,以提高首次加载速度。延迟加载页面上不可见的图片和内容,以减轻首次加载负担。限制第三方库和插件的数量,以减少性能和安全风险。
2023-09-06 14:01:23
333
原创 gitLab(git)误提交命令
3.切换到你提交数据之前的主分支,不要使用现在的自己的分支,或者删除掉不必要的更改,修改你提交错的内容,但是当你不能提交到这个分支(一般在公司里,项目不能随便提交),则切换到之前没更改数据的主分支(一定要保证这个主分支数据未更改)防止代码覆盖的问题。则可以去除掉远程分支上你的更改,变为你提交之前的状态。,查看最近提交的数据。
2023-09-01 18:34:40
328
原创 建立本地ssh,下载git文件
如果你看到类似id_ed25519.pub的文件,说明你已经有了一对公钥和私钥,可以跳过第 2 步和第 3 步。【第二步】 在终端输入ssh-keygen -t ed25519 -C "liwei" ,生成新的SSH密钥。你可以直接按回车键使用默认的文件路径和空密码,也可以自己设置。【第四步】 在终端输入vim ~/.ssh/id_ed25519.pub ,查看并复制你的公钥内容。【第三步】 在终端输入ssh-add ~/.ssh/id_rsa,添加SSH密钥到 ssh-agent。
2023-08-01 14:42:58
386
原创 provide 和 inject 实现爷孙组件
属性可以让子组件访问父组件。但孙组件想要访问祖先组件就比较困难。在需要使用这个数据的子辈组件或者孙辈等下级组件中注入数据。作用:用于父组件向子孙组件传递数据。在父组件中返回要传给下级的数据,可以轻松实现跨级访问父组件的数据。:简单的来说就是在父组件中通过。来提供变量,然后在子组件中通过。
2023-07-03 12:18:51
69
原创 谈谈你理解的vue
比如说,Angular,它两个版本都是强主张的,如果你用它,必须接受以下东西: 必须使用它的模块机制- 必须使用它的依赖注入 必须使用它的特殊形式定义组件(这一点每个视图框架都有,难以避免) 所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。
2023-07-03 11:58:04
38
原创 字符串转换整数
其中,parseInt(str, 10) 是一个用于将字符串转换为整数的 JavaScript 函数。它接受两个参数:str 是要转换的字符串,10 是基数(即进制数),用于指定字符串中的数字是十进制数。使用 parseInt 时,它会从字符串的开头解析整数,直到遇到非数字字符为止。它还会忽略字符串开头的空格。如果要解析的字符串无法转换为有效的整数,则会返回 NaN(Not a Number)。所以要在下面判断是否非NaN.
2023-07-02 21:14:07
32
原创 CSS盒子5种居中方式
3.使用绝对定位并margin自适应进行居中。4.使用table-cell进行居中显示。2.使用绝对定位并进行偏移。5.使用弹性盒子来实现居中。
2023-07-02 13:07:55
2897
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人