美文网首页
前端面试题总结

前端面试题总结

作者: Wang_Yong | 来源:发表于2018-12-28 17:45 被阅读0次

如何让一个浮动元素居中

<div class="box">
 <div class="item">ghj</div>
</div>

<style>
 .box {
   positon: relative;
   float: left;
   left: 50%;
 }
 .item {
   position: relative;
   float: left;
   left: 50%;
 }
</style>

什么是闭包

当一个内部函数被其外部函数之外的变量引用时,就形成一个闭包。
简单来说,所谓的闭包,就是一个具有封闭的对外不公开的,包裹结构或空间。

  • 为什么函数可以构成闭包?
    闭包就是一个具有封闭与包裹功能的结构,是为了实现具有私有访问空间的函数的。函数可以构成闭包。函数内部定义的数据函数外部无法访问,即函数具有封闭性;函数可以封装代码即具有包裹性,所以函数可以构成闭包。
  • 闭包有什么用(特性)
    闭包的作用,就是保存自己私有的变量,通过提供的接口(方法)给外部使用,但外部不能直接访问该变量。
    当我们需要在模块中定义一些变量,并希望这些变量一直保存在内存中但又不会“污染”全局的变量时,就可以用闭包来定义这个模块。
  • 闭包的缺点:
    闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。
  • 函数套函数就是闭包吗?
    不是!,当一个内部函数被其外部函数之外的变量引用时,才会形成了一个闭包。

什么是原型链

凡是对象就有原型,那么原型又是对象,因此凡是给定一个对象,那么就可以找到他的原型,原型还有原型,那么如此下去,就构成一个对象的序列,称该结构为原型链。

display: block 和 display: inline的区别

  • block元素特点

处于常规流中时,如果width没有设置,会自动填充满父容器
可以应用margin/padding
在没有设置高度的情况下会扩展高度以包含常规流中的子元素
处于常规流中时布局时在前后元素位置之间(独占一个水平空间)
忽视vertical-align

  • inline元素特点

水平方向上根据direction依次布局
不会在元素前后进行换行
受white-space控制
margin/padding在竖直方向上无效,水平方向上有效
width/height属性对非替换行内元素无效,宽度由元素决定
非替换行内元素的行高有line-height确定,替换行内元素的行高由height margin padding border决定
浮动或绝对定位时会转换为block
vertical-align属性生效

相关文章

网友评论

      本文标题:前端面试题总结

      本文链接:https://www.haomeiwen.com/subject/lzselqtx.html