- 博客(265)
- 资源 (6)
- 收藏
- 关注
原创 应届生面试反问环节该问什么,提高面试官好感
导语:作为一名应届生,第一次面试后面试官问你:你还要问我些什么吗?很多童鞋可能不知道该问什么。以下是自己的一些个人经验,大家有不同意见的也可以一起讨论。首先分为技术面试官和HR连个角色出发:反问技术面试官,可以问:1、自己所应聘的部门有多少人?进去后是由谁负责带?2、贵公司就前端而言所用到的技术栈?3、贵公司的培训项目是什么样的呢?4、这次面试多久可以出结果?是否还有下一轮?5、学习建议类(如果面试的时候对自己的技术面很没底的话,这个时候你可以问一问别人关于学习前端的一些经验,一般面试官都很
2020-12-15 21:16:47 35489 6
原创 一文搞定 EventLoop、宏任务、微任务
在事件循环中,当主线程执行完当前的同步任务后,会检查事件队列中是否有待处理的事件。如果有,主线程会取出事件并执行对应的回调函数。这个循环的过程被称为事件循环(Event Loop),它由主线程和任务队列两部分组成。主线程负责执行同步任务,而异步任务则通过任务队列进行处理。这种机制保证了异步任务在适当的时机能够插入执行,从而实现了JavaScript的非阻塞异步执行。
2024-04-17 18:20:34 648
原创 git 的基本命令行
这条命令会将当前分支的 HEAD 指针指向指定的提交,但不会改变工作目录中的文件。这条命令会在当前目录下初始化一个新的 Git 仓库,并创建一个名为 .git 的子目录,用于存储版本控制的所有信息。这条命令会显示当前工作目录和暂存区的状态,包括哪些文件已经被修改、哪些文件还未被跟踪等。这条命令会列出仓库的提交历史,包括每次提交的哈希值、提交者、提交日期和提交信息。这条命令会将指定文件或所有修改过的文件添加到暂存区,准备提交。这条命令会将暂存区中的更改提交到本地仓库,并附带一条提交信息。
2024-04-17 16:58:13 300
原创 前端怎样做权限控制的?
在做系统时,我们常常因为使用该系统或软件的用户不同,要给到不同角色不同的模块权限控制。这些例子提供了权限控制的一些基本操作和方法,但具体的实现方式会根据你的系统架构、技术栈和业务需求而有所不同。对于敏感操作(如删除用户、修改系统设置等),要特别小心,确保只有具有明确权限的用户才能执行。role_permissions 表:关联角色和权限,表示每个角色拥有的权限。场景:一个RESTful API接口,不同的用户角色有不同的访问权限。场景:一个Web应用的前端界面,根据用户角色显示不同的菜单和功能按钮。
2024-04-17 16:52:15 290
原创 说说懒加载怎样实现
由于浏览器会自动对页面中的img标签的src属性发送请求并下载图片,可以通过html5自定义属性data-xxx 先暂存src的值,然后在图片出现在屏幕可视区域的时候,再将data-xxx的值重新赋值到img的src属性即可。懒加载(Lazy Loading)是一种优化技术,它允许延迟加载资源的执行,直到这些资源真正需要时才加载。图像占位符: 使用小图标或占位符替换真实的图像,当图像需要加载时再替换成真实的图像源。用户体验: 确保懒加载的内容在用户需要时能够及时加载,否则可能会影响用户体验。
2024-04-17 16:39:34 139
原创 Web Worker 优化长任务
打开控制台,选择 Performance 工具,点击 Start 按钮,展开 Main 选项,会发现有很多红色的三角,这些就属于长任务(长任务:执行时间超过 50ms 的任务)比如新建一个 web worker, 浏览器会加载对应的 worker.js 资源,下图中的 Time 是这个资源的通信时长(也叫加载时长)由于浏览器 GUI 渲染线程与 JS 引擎线程是互斥的关系,当页面中有很多长任务时,会造成页面 UI 阻塞,出现界面卡顿、掉帧等情况。
2024-04-17 16:35:33 111
原创 代码实操:一文讲解js继承的多种实现方式
优点:融合原型链继承和构造函数的优点,是 JavaScript 中最常用的继承模式。创建一个仅用于封装继承过程的函数,该函数在内部以某种形式来做增强对象,最后返回对象。包含引用类型的属性值始终都会共享相应的值,这点跟原型链继承一样。方法都在构造函数中定义,每次创建实例都会创建一遍方法。
2024-04-01 17:18:42 174
原创 在浏览器的控制台定义变量,清除后还是报错变量已声明
Uncaught SyntaxError: Identifier 'words' has already been declared
2024-03-15 02:00:00 707
原创 reduce()方法的应用
`reduce()` 是 JavaScript 数组(Array)对象的一个方法,它接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。
2024-03-15 01:00:00 422
原创 五个方法告诉你,如何去除数组中重复元素
每种方法都有其优缺点,你可以根据具体的场景和需求选择最适合的方法。在性能敏感的场景下,使用Set或Map通常会比使用循环更高效。
2024-03-12 17:36:45 546 1
原创 TypeScript 中类的理解及应用场景
类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础
2024-02-29 22:33:24 907
原创 TypeScript 中命名空间与模块的区别
TypeScript 与 ECMAScript 2015 一样,任何包含顶级 import 或者 export 的文件都被当成一个模块;相反地,如果一个文件不带有顶级的import或者export声明,那么它的内容被视为全局可见的;
2024-02-29 22:25:26 776
原创 如何在Vue项目中应用TypeScript?
在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator,其是基于vue-class-component库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库
2024-02-29 22:10:52 637
原创 typescript 的数据类型有哪些
typescript 是 javascript 的超集,在`javascript`基础上提供了更加实用的类型供开发使用;支持ES6语法,支持面向对象编程的概念,如类、接口、继承、泛型等;其是一种静态类型检查的语言,提供了类型注解,在代码编译阶段就可以检查出数据类型的错误;
2024-02-29 21:52:01 874
原创 面试官:说说Vue 3.0中Treeshaking特性
Tree shaking是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination
2024-02-29 21:11:32 1045
原创 GET请求和POST请求的区别
HTTP协议是基于TCP/IP的应用层协议,所以无论GET还是POST,用的都是同一个传输层协议,所以在传输上可以认为基本无差别。
2024-02-08 14:34:31 920
原创 后端返回给前端的数据格式有哪些?
后端返回的数据格式有很多种,常见的包括JSON、XML、HTML、CSV等。这些格式各有特点,适用于不同的应用场景。
2024-02-04 21:23:41 1258
原创 substr()与substring()的区别
在 JavaScript 编程语言中,substr() 和 substring() 都是字符串函数,用于截取指定位置的子字符串。虽然这两个函数都可以用于截取字符串,但它们之间存在一些区别。
2023-11-23 08:00:00 573 1
原创 Duplicate keys detected: ‘0‘. This may cause an update error
Duplicate keys detected: '0'. This may cause an update error.当遇到该节点内容更新时,会因为重复的key导致无法更新。该错误,是因为同级节点下存在两个由0开始的key,当遇到该节点内容更新时,会因为重复的key导致无法更新。
2023-11-14 22:30:00 1765
原创 一个工作三年的前端是如何做性能优化的
你是怎么做性能优化的?关于这一个问题,也是我们前端开发程序员经常会讨论到的问题,接下来这篇文章将总结一下前端方面的性能优化及方式。
2023-10-24 14:06:30 220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人