面试
文章平均质量分 77
今天会下雨吗
多动脑思考吧
展开
-
JavaScript执行原理
本文章知识来源b站upobjtube的卢克儿【干货】8分钟带你了解JS运行原理!写了那么多代码,还不知道JS是如何被运行的?干货】8分钟带你了解V8引擎是如何运行JS!都2020年了还不知道什么是V8?干货】6分钟带你掌握JS调用栈 | JS运行原理系列31. JS是如何被编译的JavaScript初认识JavaScript是由Brenddan Eich在1995年创建的,JavaScript在初期设计时基本就是很多语言的大杂烩借鉴了C语言的基本语法借鉴了Java语言的数据类型和内存管原创 2021-11-01 16:11:56 · 961 阅读 · 0 评论 -
使用事件冒泡和事件委托来优化代码 - 给子元素添加事件问题
下面记录的是在完成纯js实现日历组件过程中遇到的问题遇到的问题1. 下拉菜单实现部分下拉菜单的展现,以及点击选项框后会出现的样式,都是事先写好的比如,下拉菜单是本来就存在了,只不过是隐藏起来了。当我点击选项框后,就给他添加了一个类名active,然后通过这个类名在添加了display:block让他显示出来同样的,选项框被点击后的样式,以及下拉菜单的每一个选项被选中后的样式,都是通过js给他们添加类名从而获得事先写好的样式。往常我是会通过js来给每一个动态变化的元素添加样式,这样看起来比较原创 2021-10-27 16:50:11 · 637 阅读 · 0 评论 -
移动端vue封装轮播图组件
移动端vue封装轮播图组件假设我们需要实现一个有四张图片的轮播图1. 实现思路将拿到的图片布局好要实现轮播就要让图片有规律的动起来2. 实现步骤第一步:封装组件组件可以提高模块功能的复用性,当我们在另一个项目也有同样的需求时,可以直接拿过去用这里我们需要封装一个Swiper.vue、SwiperItem.vue、HomeSwiper.vue组件Swiper.vue:作为该轮播图的主组件,主要功能函数写在这里封装组件就少不了插槽slot<template>原创 2021-10-20 17:54:06 · 1366 阅读 · 0 评论 -
JavaScript函数重载
函数重载: 就是指在同一个作用域内声明了几个类似的同名函数,这些同名函数的形参列表(参数个数,类型,顺序)必须不同,常用来处理实现功能类似数据类型不同的问题我们可以思考一下为什么JavaScript不支持函数重载每个 JavaScript 函数实际上都是一个 Function 对象实例。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。我们将函数名看作是指向函数的指针,那么在同一作用域内声明了两个相同名字和类型的指针,后面的必然会覆盖前面的如何实现JavaScri原创 2021-10-14 13:22:54 · 375 阅读 · 0 评论 -
JavaScript防抖和节流详解
一. 认识防抖和节流1.1. 对防抖和节流的认识防抖和节流的概念其实最早并不是出现在软件工程中,防抖是出现在电子元件中,节流出现在流体流动中而JavaScript是事件驱动的,大量的操作会触发事件,加入到事件队列中处理。而对于某些频繁的事件处理会造成性能的损耗,我们就可以通过防抖和节流来限制事件频繁的发生;防抖和节流函数目前已经是前端实际开发中两个非常重要的函数,也是面试经常被问到的面试题。但是很多前端开发者面对这两个功能,有点摸不着头脑:某些开发者根本无法区分防抖和节流有什么区别(面试转载 2021-10-12 10:08:48 · 540 阅读 · 0 评论 -
BFC布局
1. 概念BFC 即 Block Formatting Contexts (块级格式化上下文)BFC其实就是一个独立的渲染区域(容器),规定了区域内部元素的布局方式,并且区域内元素的布局不会影响到外面的元素。2. 触发BFC的条件body根元素浮动元素:float除了none以外的值绝对定位元素:position(absolute、fixed)display为inline-block、table-cells、flexoverflow除了visible以外的值(hidden、auto、s原创 2021-10-04 21:21:28 · 217 阅读 · 0 评论 -
JavaScript实现深拷贝
深拷贝//编写一个深度克隆函数function deepClone(obj) { // 1. 如果传过来的obj不是对象或者为空,则返回 if (typeof obj !== 'object' || obj == null) return obj; // 2. 判断传过来的obj是否为数组 let newObj = (obj instanceof Array) ? [] : {}; // 3. 通过for in循环访问对象属性 for(let key原创 2021-10-04 20:36:45 · 83 阅读 · 0 评论 -
css面试题
1. 写代码:css div 垂直水平居中,并完成 div 高度永远是宽度的一半(宽度可以不指定)css实现水平居中的几种方式给div自己添加margin:0 auto;给div的父元素添加:display: flex;justify-content: center;给div自己添加:position: relative;top: 0;left: 25%;/* left计算方式:div的宽度 / div父元素的宽度 * 1/2 */css原创 2021-10-04 20:33:12 · 121 阅读 · 0 评论 -
display: none、visibility:hidden和opacity: 0的区别
1. display: none设置该属性后,该元素和它所有的后代元素都会被隐藏。无法使用屏幕阅读器等辅助设备访问占据的空间消失<div> <p>A没有设置display:none</p> <p style="display: none;">B设置display:none</p> <p>C没有设置display:none</p></div>效果图2. vi原创 2021-05-31 21:39:44 · 1237 阅读 · 0 评论 -
css3新增属性box-sizing详解
1. 定义详解box-sizing属性是用来规定容器元素的总宽高是如何计算的W3C标准盒模型中规定:元素总宽度 = contentWidth + padding +border元素总高度 = contentHeight + padding + bordermargin不计入元素的宽高,他设置的是一个元素与其他元素之间的间隔,不会改变元素本身的宽高例如,要设置一个总宽度为350px的盒子div { width: 320px; padding: 10px;原创 2021-09-29 16:11:21 · 932 阅读 · 0 评论 -
给子元素添加margin-top,作用到父元素上的问题
在css盒模型中规定,两个或多个毗邻的普通流中的块级盒子,在垂直方向上的外边距会发生叠加,这种形成的外边距称之为外边距叠加(margin折叠)。最终的margin值计算方法如下:全部都为正值,取最大者;不全是正值,则都取绝对值,然后用正值减去最大值;没有正值,则都取绝对值,然后用0减去最大值。毗邻的定义:同级或者嵌套的盒元素,并且他们之间没有padding,border,非空内容分隔。当父元素的第一个子元素的margin-top,如果碰不到有效的padding,border和内容就.原创 2021-09-27 20:22:17 · 105 阅读 · 0 评论 -
HTML5和css3部分新特性
1.HTML5新特性新特性都有兼容性问题,基本IE9+以上版本的浏览器才支持针对以前的不足,增加了一些新的标签,新的表单,新的表单属性1.1 新增语义化标签- <header>:头部标签- <nav>:导航标签- <active>:内容标签- <section>:定义文档某个区域- <aside>:侧边栏标签- <footer>:尾部标签没有添加语义化标签前,我们需要写一个导航栏,侧边栏这些都是用div来实现原创 2021-09-26 09:13:56 · 97 阅读 · 0 评论 -
【面试必看】零经验如何准备前端面试(面试项目技能描述)
转载自b站up主宇哥在学习的【面试必看】零经验如何准备前端项目?教你3个方法,助你收获 offer!项目demo 类,一个仿首页和小游戏主要体现出对html,css,js的掌握程度准备2-3个例子仿写首页展现出自己扎实的html功底以及对CSS常用布局、选择器的用法、响应式原理、动画、过渡的掌握比如在写的过程中掌握了各种选择器、子选择器、伪类选择器的用法。实现一个小游戏通过这个游戏考验自己抽象的能力,学会如何把复杂的逻辑用代码表示例如:2048,在写的过程中需要考虑游戏初始原创 2021-06-03 20:25:14 · 3383 阅读 · 4 评论