zoukankan      html  css  js  c++  java
  • 前端面试题总结三

    一 以下哪些属性脱离了文档流

      A. static  B. relative  C. absolute D. fixed  E. float

    答案是:  B.D.E

    • static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。
    •  relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
    •  absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。
    •  fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。
    • 可以说是float是部分脱离文档流,而absolute是完全脱离文档流。也就是说,使用float属性时,其他元素会无视这个float元素,但是其他元素内的文本依然会为这个元素让出位置,环绕在周围(感觉类似于word文字环绕功能),所以称为部分无视。而使用absolute脱离文档流的元素,其他盒子无论是本身还是盒子内的文本都会无视这个元素,也就是完全脱离文档流。

    二 以下的输出结果

     function fn(){
          var a=b=5
       }
      fn()
      console.log(a,b)

    答案是:报错Uncaught ReferenceError: a is not defined

    如果改为如下输出结果是什么呢
      function fn(){
         a=b=5
      }
      fn()
      alert(a)
      alert(b)

    答案是:5,5 

       因为没有声明默认变量a和b是全局的

       var a
       function fn(){
         a=b=5
      }
      fn()
      alert(a)
      alert(b)
    答案是:5,5   

        第一个a的输出是5很正常,但是为什么b的输出也是5呢,因为赋值是从右往左进行的,也就是说这一行先执行b=1,这时候b就是全局变量了,没有被var过。然后是var a = b;

        a被声明了,是局部变量。或者说var a=b=1;计算优先级 创建全局变量b=1,再在函数中定义一个变量a,a=b

    三 以下的输出顺序

      console.log('one')
      setTimeout(function(){
        console.log('two')
      },0)
      console.log('three')

    答案是:one three two

    四 css常见的水平居中问题

     这个答案就不做介绍了,方法太多了,有知道宽高的,有不知道宽高的,如用translate等,还有flex布局方法的table布局方法的等等

  • 相关阅读:
    tkinter gui界面使用调戏妹子
    @property 用法
    @classmehod 用法解析
    python psutil 使用和windows 10 设置
    python 类多重继承问题
    多线程同步引入锁
    Linux—禁止用户SSH登录方法总结
    Linux FTP的主动模式与被动模式
    Java Socket详解
    MySQL学习(一)——创建新用户、数据库、授权
  • 原文地址:https://www.cnblogs.com/hongsusu/p/9118209.html
Copyright © 2011-2022 走看看