前端面试题整顿

写在前面

本小菜鸡开学(实在已最先了)就要面对找练习的压力了。所以在此开一贴纪录一下汇集的前端口试的问题和本身即将被拷问的问题= =。悔不应当初没有好好学习quq!勤奋!

口试问题总结

HTML

1.html5新增了哪些内容或api,运用过哪些?

  • HTML5新增input输入范例:

    • email范例
    • url范例
    • number范例供应挑选数字的功用,个中min属性设定最小值,max属性设定最大值,value属性设置当前值,step属性设定每次增进值。
    • range范例,示意限定数字输入的局限域
    • 日期和时刻范例:date,month,week,time,datetime,datetime-local
    • search范例
    • tel范例
    • color范例
  • HTML5新增表单元素

    • datalist 划定输入域的选项列表
    • keygen供应一种牢靠要领来考证用户
    • output用于差别范例的输出
  • 另有更多细节内容不列在这里啦。请看这篇博客

2.input和textarea的区分?

  • <input type= “textarea”>是单行文本框。<textarea>是多行文本框。

3.用一个div模仿textarea的完成?

  • 起首我们须要晓得div是高度自适应的,高度会跟着内容的增添而增添。而textarea有着牢固的大小,高度凌驾划定高度就会涌现滚动条。
  • div有一个属性叫做contenteditable,设置contenteditable属性为true就能够完成,div内容可编辑。
  • 完成了内容可编辑今后,在css中设置好划定的高度,设置overflow-y属性为auto,即可完成滚动条。

4.挪动装备疏忽将页面中的数字辨认为电话号码的要领?

  • 挪动装备中经常会涌现将一串数字辨认为电话的状况,数字的色彩和款式都邑变化,点击能够直接拨打。
  • 增加以下代码能够封闭辨认。
   <meta name = "format-detection" content = "telephone=no">  

5.<iframe>标签

  • <iframe>标签会制造一个包含别的一个文档的内联框架。
  • <iframe>标签许多用在页面广告。
  • 问题:

    • 会影响页面的并行加载
    • 壅塞onload
  • 能够运用js动态地为iframe的src加载页面内容

6.load事宜和DomContentLoaded事宜

  • DomContentLoaded事宜在DOM元素加载终了时触发,也就是HTML文档被加载和剖析完成时。
  • load事宜是在页面上一切资本(包含图片、视频、音频)悉数加载完时触发。
  • 概况请看这篇文章,写的异常清楚。

CSS

1.摆布规划:左侧定宽、右侧自适应,不少于3种要领

  • 要领一:左侧模块设置左浮动,右侧模块宽度设置100%
  • 要领二:父容器设置display:flex;right部份设置flex:1。display:flex设置为弹性盒子,其子元素能够设置flex的数值来掌握其所占空间的比例。
  • 要领三:运用负margin。设置左部份和右部份左浮动,并为right部份设置宽度100%。设置左部份左外边距为负100%。为了防止右部份的内容被掩盖,再为右部份设置增加左侧距(左部份的宽度)。

2.CSS3有哪些新特征?

  • CSS3的挑选器

    • E:last-child / E :nth-child(n) / E : nth-last-child(n) 倒数第n个元素
  • @Font-face特征用来加载字体款式,能够加载服务器端的字体,显现到客户端,纵然客户端并没有装置该字体
  • 圆角:border-radius
  • 弹性盒子形式display:flex。 等等属性

3.BFC与IFC

  • 起首诠释FC(Formatting Contexts),这是CSS范例中的一个观点。它指页面中的一块衬着地区,有本身的衬着划定规矩,划定了子元素怎样定位,以及和其他元素间的相互作用。
  • BFC(Block Formatting Contexts),块级格式化上下文。BFC就是页面上一块断绝的衬着地区,容器内的子元素不会影响外界元素的规划。
  • IFC(Inline Formatting Contexts),内联格式化上下文。IFC的line box高度由其包含的行内元素最高的现实高度盘算而来。IFC能够明白为一种盒子从左到右的程度分列体式格局。

4.对栅格的明白

  • 栅格规划由三个部份构成——容器(container)、行(row)、列(column)也就是栅。
  • 差别的列之间有删间距。

《前端面试题整顿》

  • 栅格是能够嵌套的。列也能够换行。

5.程度居中有哪些完成体式格局?

  • 把行内元素包裹在一个属性display:block的元素中,而且把父层元素增加属性:text-align:center;
  • 块状元素处理:增加margin : 10px auto;
  • 多个块状元素处理方案:起首将元素的display属性设置为inline。然后再设置父元素text-align:center。
  • flexbox规划完成多个块状元素居中:把待居中元素的父元素增加属性display:flex和justify-content:center即可

6.1像素边框问题

  • border-image图片完成
  • background-image渐变完成
  • box-shadow完成

7.flex规划

8.盒子模子

  • 《前端面试题整顿》
  • 盒子模子有两种规范,一种是w3c规范,一种是ie规范
  • 基础构成是一样的,从内往外分别是content地区、padding、border、margin
  • w3c的盒子宽度和高度现实上就是 content部份的宽度和高度。
  • ie盒子模子的高度和宽度是content+padding+border的值,这个也比较相符我们的明白。

9.完成一个三栏规划,双方定宽,中心自适应

  • 罕见的完成要领有圣杯规划、双飞翼规划、以及应用display:flex完成。
  • 完成细节请参考这篇博客

JavaScript

1.图片懒加载

  • 图片懒加载的道理是页面加载时不一下加载悉数的图片,只加载用户可见地区内的图片,然后依据用户滚动到页面的位置,再天生响应的img标签,显现图片。

2.完成页面加载进度条

  • 我们能够将一全部页面大抵分为4,5个地区。
  • 然后在页面的顶端设置一个div用来显现进度条。
  • 每抵达指定的节点就用jquery完成进度条动画。
  • 末了加载完成隐蔽进度条即可。

3.eval()函数

  • 作用:eval函数会将传入的参数看成现实的javascript语句来实行,然后把实行效果插进去到eval()函数地点的位置。
  • 然则eval函数中的任何变量或函数都不会被提拔,因为在预剖析的时刻,这些性命都还只是字符串。
  • eval函数能够被用来剖析json字符串,将其转换为json对象。
  • 然则因为平安斟酌,最好不要主动运用eval函数。

4.new操纵符挪用组织函数的实行历程

  • 起首建立一个新对象
  • 将组织函数的作用域赋给新对象(因而this指向了这个对象)
  • 实行在组织函数中的代码,为新对象增加响应属性
  • 返回新对象

5.Promise对象

  • Promise对象用于示意一个异步操纵的终究状况(完成或失利),以及其返回的值。
  • 关于Promise的细致剖析,请看这篇文章

HTTP

  1. session和cookie的区分
  • Session是在服务端保留的一个数据结构,用来跟踪用户的状况,这个数据能够保留在集群、数据库、文件中;
  • Cookie是客户端保留用户信息的一种机制,用来纪录用户的一些信息,也是完成Session的一种体式格局。
  • session的运转依赖于session id 而session id是存在cookie中的,因而假如浏览器禁用了cookie,session也会被禁用。
    原文作者:soleil阿璐
    原文地址: https://segmentfault.com/a/1190000013328829
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞