0
点赞
收藏
分享

微信扫一扫

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

AbrahamW 2022-02-19 阅读 67

前端面试题(一)

今天我们整理一下前端面试题(15个)

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

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

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下的第二个元素(找不到);

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是有一定顺序的

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
举报

相关推荐

0 条评论