web前端面试之基础面试题(一)(含答案)

2023-11-02

前端面试题(一)

今天我们整理一下前端面试题(15个),此面试题答案自己书写总结,有问题或疑问请指出问题,谢谢!

1.HTML中行内元素与块元素的区别?并举例?行内元素怎么转化为块级元素?

块级元素(block element)在浏览器中占据整行,并排斥其它元素与其位于同一行。也就是说,块级元素的宽度是 100%。常见的块级元素如下表:

块级元素 说明
div 最典型的块元素
p 表示段落
h1-h6 表示1-6级标题(默认加粗)
br 表示换行
ol 有序列表
ul 无序列表

**

行内元素又称内联元素(inline block)。在浏览器中可以与其它行内元素共占一行,只有当多个元素的总宽度大于浏览器的宽度时,才会换行显示。常见的行内元素如下表:

行内元素 说明
a 超链接
span 常用行级
strong 加粗,强调
b 加粗,不强调
em 斜体,强调
i 斜体,不强调
img 图片
input 输入框
select 下拉列表

行元素转换为块级元素方式:display:block

2.title和alt有什么区别?

  • alt是图片加载失败时,显示在网页上的替代文字;
  • title是鼠标放上面时显示的文字。
  • alt是img必要的属性,而title不是。

3.请阐述css里有哪些选择器?分别说说它们的优先级?

  • 标签选择器: 一个HTML文件由很多不同的标签组成,利用标签选择器可以统一设置使用某类标签定义的元素的外观。(如:body,div,p,ul,li)
  • 类选择器(class): 使用类选择器可以相同或不同的标签分类设置不同的样式。定义类选择器时,需要在类名称前面加一个“.”。(如:class=“head”,class=“head_logo”)
  • id选择器: id选择器用来对单个元素设置单独的样式,在同一html文件中,id不能重复。定义id选择器时,需要在id名称前面加一个#号。多用于写js代码使用。(如:id=“name”,id=“name_txt”)
  • 通用选择器:通用选择器是一种特殊类型的选择器,它用星号*来表示选择器是名称,可以定义所有网页元素的显示格式。(如:*号)
  • 后代选择器: (如:#head .nav ul li 从父集到子孙集的选择器)
  • 群组选择器:{ div,span,img {color:Red} 即具有相同样式的标签分组显示
  • 继承选择器:(如:div p,注意两选择器用空格键分开)
  • 伪类选择器:(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)
  • 子选择器: (如:div>p ,带大于号>);

优先级排序:行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性

4.transform?animation?区别?animation-duration?

  • Transform :它和width、left一样,定义了元素很多静态样式实现变形、旋转、缩放、移位及透视等功能,通过一系列功能的组合我们可以实现很炫酷的静态效果(非动画)。
  • Animation:作用于元素本身而不是样式属性,属于关键帧动画的范畴,它本身被用来替代一些纯粹表现的javascript代码而实现动画,可以通过keyframe显式控制当前帧的属性值.
  • animation-duration:规定完成动画所花费的时间,以秒或毫秒计。

5.nth-of-type 与 nth-child 区别?
例子:

<ul> 
   <p>111</p> 
   <span>222</span> 
   <li>1</li> 
   <li>2</li> 
   <li>3</li> 
 </ul>
  • li:nth-of-type(2):表示ul下的第二个li元素;
  • li:nth-child(2):表示既是li元素又是在ul下的第二个元素(找不到);

建议一般使用nth-of-type,不容易出问题。

6. :before 和 ::before 区别?

  • 单冒号(:)用于CSS3伪类,
  • 双冒号(::)用于CSS3伪元素。
    对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。

7.px/em/rem有什么区别?浏览器默认字体大小多少?

  • em的值并不是固定的;
  • em会继承父级元素的字体大小。使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。
  • rem是相对于浏览器进行缩放的。1rem默认是16px,在响应式布局中,一个个除来转换成rem,太麻烦,所以重置rem
  • body{font-size=62.5% } 此时1rem = 10px;若是12px则是1.2rem.
  • 浏览器默认字体大小是16px

8.图片和文字在同一行显示?

  • 在css中给div添加上“vertical-align:middle”属性。
  • 分别把图片和文字放入不同的div中,然后用“margin”属性进行定位,就可以使他们显示在同一行。
  • 把图片设置为背景图片。

9.怎么禁止事件冒泡?

event.stopPropagation()

10.a标签中 active hover link visited 正确的设置顺序是什么?
a标签的link、visited、hover、active是有一定顺序的

a:link a:visited a:hover a:active

10.谈一谈你对闭包的理解?
闭包说的通俗一点就是打通了一条在函数外部访问函数内部作用域的通道。正常情况下函数外部是访问不到函数内部作用域变量的,表象判断是不是闭包:函数嵌套函数,内部函数被return 内部函数调用外层函数的局部变量。

  • 优点:可以隔离作用域,不造成全局污染;
  • 缺点:由于闭包长期驻留内存,则长期这样会导致内存泄露;
  • 如何解决内存泄露:将暴露全外部的闭包变量置为null;
  • 适用场景:封装组件,for循环和定时器结合使用,for循环和dom事件结合

11.什么原型 原型链?
原型:

  • js中,万物皆对象,每一个对象都拥有自己的属性;
  • 在js中每个对象都有一个与他关联的对象,叫做原型对象,每次获取对象属性都是一次查询过程,在对象的自由属性中找不到就会去查它的原型对象。

原型链:

  • 原型连成一条链,js在查找属性过程中,如果在自有属性中找不到就会去原型对象中查找,如果原型对象中再查不到,就回到原型对象的原型中查找,也就是按原型链查找,直到查找原型链的顶端–object

12.instanceof 与 typeof() 的区别?

  • instanceof :判断对应的变量类型,(是否为对应的类,实例化出来的对象),用于检测对应的数据类型;返回的值为 t(true) 或 f(false);
  • typeof() :返回的是数据类型;

13.说一下ES6新增特性?

  • ES6新增特性常用的主要有:let/const,箭头函数,模板字符串,解构赋值,模块的导入(import)和导出(export
    default/export),Promise,还有一些数组字符串的新方法。

14.说一下JS数组常用方法(至少6个)

  • 在开发中,数组使用频率很频繁,JS数组常用方法有:push,pop,unshift,shift,splice,join,concat,forEach,filter,map,sort,some,every好多,不过都是平时开发中很常用的方法,大家可以补充一点儿es6的。

15.说一下JS数据类型有哪些?

  • 基本数据类型:number,string,Boolean,null,undefined,symbol(ES6新增)
  • 复合类型:
    Object,function

后续会继续更新相关前端知识及面试题!!!!谢谢大家的预览!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web前端面试之基础面试题(一)(含答案) 的相关文章

随机推荐

  • Rustful接口开发

    Rustful接口开发 什么是api api简称接口 就是一些预先定义的函数 目的是能够让应用程序或者开发人员具有能够访问指定网络资源的能力 而又无需关心访问的源码 或理解内部工作机制的细节 api的产生 web Android iOS 由
  • matlab实现各向异性扩散

    看书一直不理解各向异性扩散究竟是什么 直到看了某大佬的解释 主要是用来平滑图像的 克服了高斯模糊的缺陷 各向异性扩散在平滑图像时是保留图像边缘的 和双边滤波很像 通常我们有将图像看作矩阵的 看作图的 看作随机过程的 记得过去还有看作力场的
  • flutter 状态栏文字颜色

    SystemChrome setSystemUIOverlayStyle SystemUiOverlayStyle dark 还有一种方法是在appbar里面的一个参数 brightness 但是 两者都会对当前的widget重构 比如页面
  • 毕业1年从事软件测试拿下11.5k,没有给98后丢脸吧...

    自我介绍一下 本人是20年毕业的专科生 专业软件技术 21年8月拿到月薪11 5k的offer 开启我的软件测试之路 现在把本人的经历写出来 希望能给像我一样想要从事软件测试的朋友们一些建议 学还是不学 这是个问题 19年底我找到软件开发的
  • 大语言模型之九- BERT

    Natural Language Processing NLP 包括自然语言理解和自然语言生成 自然语言理解的应用包括语义分析 机器客服 语音识别 机器翻译等 transformer这一深度网络架构在NLP领域占有举足轻重的地位 BERT是
  • linux7重置密码操作,linux重置管理员密码的操作方法

    linux重置管理员密码的操作方法 发布时间 2020 04 02 11 08 01 来源 亿速云 阅读 34 作者 小新 今天小编给大家分享的是linux重置管理员密码的操作方法 很多人都不太了解 今天小编为了让大家更加了解linux重置
  • mysql myisam 数据丢失_用Myisamchk进行崩溃恢复MySQL

    由MySQL用来存储数据的文件格式以已经被广泛地测试过 但是总是有外部情况可以导致数据库表被破坏 mysqld进程在一个写入当中被杀死 计算机的意外关闭 例如 如果计算机掉电 一个硬件错误 这章描述如何检查和处理在MySQL数据库中的数据损
  • 这 7个 AI 写作助手,太实用了

    想象一下 你正在办公桌前为你的广告输入标题 但你突然思维阻塞并卡住了 可惜这时还没有神奇的软件可以帮助你想出点子 或许是有的 2023 年 AI 写作工具似乎不可避免地会很快融入我们的工作流程中 现代知识工作者已经看到了 ChatGPT 的
  • 流形学习(Manifold Learning)以及推导

    流形学习 Manifold Learning 前言 流行学习简介 主要的代表方法 1 Isomap 等距映射 Isomap算法步骤 2 LLE Locally Linear Embedding 局部线性嵌入 LLE基本思想 LLE算法步骤
  • ggplot2读书笔记5:工具箱——误差线、加权数、展示数据分布

    今天我们学习第三章的最后几节 其中的 绘制地图 部分 因为我木有顺利安装maps package 而且在我们的工作中也不常用 暂时跳过 下面继续 6 添加误差线和误差范围 数据中的不确定信息的展示也很重要 ggplot2中 四类几何对象可以
  • 【嵌入式百科】001——字长、比特、字节、字、双字

    一 字长 计算机的每个字所包含的位数称为字长 计算的字长是指它一次可处理的二进制数字的数目 一般地 大型计算机的字长为32 64位 小型计算机为12 32位 而微型计算机为4 16位 二 比特 bit 数据传输大多是以 位 bit 又名 比
  • 异常、业务状态码、错误码的使用分析

    url http www iteye com topic 1112683 url 好吧 看了各位的发言 我突然觉的自己蛋疼了 我的公司也蛋疼了 不过可别说我经历的项目初级 从日pv超百万的论坛和价值几亿的银行项目我都经历过 现在我经历的最大
  • QT 面试题 个人标注重点

    一 讲述Qt信号槽机制与优势与不足 优点 类型安全 需要关联的信号槽的签名必须是等同的 即信号的参数类型和参数个数同接受该信号的槽的参数类型和参数个数相同 若信号和槽签名不一致 编译器会报错 松散耦合 信号和槽机制减弱了Qt对象的耦合度 激
  • VMware虚拟机添加新磁盘

    一 VMware虚拟机添加磁盘 1 关闭你要添加硬盘的虚拟机 点击 编辑虚拟机设置 2 在打开的界面中点击 添加 按钮 3 在新打开的界面中点击 硬盘 下一步 4 在打开的界面中 选择硬盘类型 保持默认即可 点击 下一步 5 在打开的界面中
  • 贴片钽电容封封装及规格和参数资料

    贴片钽电容简述 贴片钽电容 以下简称钽电容 作为电解电容器中的一类 广泛应用于各类电子产品 特别是一些高密度组装 内部空间体积小产品 如手机 便携式打印机 钽电容是一种用金属钽 Ta 作为阳极材料而制成的 按阳极结构的不同可分为箔式和钽烧粉
  • 第一章 Vue项目的创建

    1 第一步 Node js的下载 方法 去node js官网进行下载 描述 node js自带npm的包 管理依赖 2 第二步VUE脚手架下载安装 方法 1 打开cmd 2 输入 npm install g vue cli 3 第三步 检查
  • 14.ES 之 nested 详解(2019-05-22)

    1 问题引入 由于在 ES 里新建 删除 更新单个文档都是原子性的 那么将相关实体保存在同一文档里面是有意义的 PUT blog doc 1 title Nest eggs body Making your money work tags
  • html 纯数字、英文不换行的两种解决办法

    1 在需要纯数字或英文换行的标签加入样式 word break break all 强制换行 2 如果需要将html代码通过html2canvas转为图片 word break break all 结果失效 我的解决办法是将纯数字使用sub
  • Dart基础语法1

    Dart基础 学习一门新的语言 我们可以以自己现有的熟悉的语言来类比 比如我们非常熟悉Java 那么剩下的就是需要掌握与Java不同的Dart语法 剩下的就需要靠自己多写多看来慢慢熟悉 国际惯例 使用Dart完成一个 Hello World
  • web前端面试之基础面试题(一)(含答案)

    前端面试题 一 今天我们整理一下前端面试题 15个 此面试题答案自己书写总结 有问题或疑问请指出问题 谢谢 1 HTML中行内元素与块元素的区别 并举例 行内元素怎么转化为块级元素 块级元素 block element 在浏览器中占据整行