• 前端面试题


    1:前端页面的构成,分别有哪些功能

    (1)结构层(html) structural layer

    由HTML或者XHTML之类的标记语言负责创建,即:标签

    (2)表示层(css)preesentation layer

    解决结构层如何显示的问题。

    (3)行为层(js)behavior layer

    内容如何对事件作出反应一类的问题解决。

    2.高度不固定的容器的上下左右居中显示。(重点是垂直居中)

    1)将父容器设置为:

    display:table-cell;

    vertical-algin:middle;

    text-algin:center;

    2)使用flex:

     disolay:flex;

    justify-content:center;

    algin-items:center;

    3.margin塌陷问题,以及margin重叠问题。

    父容器不设置margin值,只给里面的div设置一个margin-top,会有什么样的结果,就是父容器会margin-top===子容器的margin-top值。

    解决方案:

    1)给父容器设置border:1px solid transpartent;

    2)padding>0

    3)float

    4)position:absolute;

    5)display:inline-block;

    6)overflow:hidden/auto;

    另一种情况:

    两个div,上面的设置margin-bottom:30px;下面的设置margin-top:10px;中间的间距为30px;取最大值的。

    解决办法:只设置一个的,要么margin-top,要么margin-bottom;

    4、HTML5有哪些新特性,优点是什么?

    1)语义特性:语义化标签更丰富

    2)本地储存

    3)设备兼容

    4)连接特性

    5)网页多媒体特性video audio标签

    6)三维图形及特效特性

    7)性能与集成特性

    优点:

    网络标准,多设备、跨平台、即时更新,提高可用性和改进用户的友好体验、语义化更强的新标签

    代替flash和silverlight、seo、更友好、移动端优先,应用于应用程序和游戏

    5、css选择器考察

    .into           选择class=“into”的所有元素。

    #into          选择id=“into”的所有元素。 

    *                 选择所有元素。

    p                 选择所有<p>元素。

    div,p            选择所有<div>元素和所有<p>元素。

    div p           选择所有<div>内部所有<p>元素

    div>p          选择父元素为<div>元素的所有<p>元素。

    div+p          选择连接在<div>元素之后所有的<p>元素。

    6、cookie.sessionStorage、localStorage的区别

    1)cookie数据始终在同源http请求中携带(即使不需要),在服务器和浏览器之间来回传递。大小限制4K。

    2)sessionStorage:不会把数据发到服务器,仅保存到本地,大小不同浏览器有不同限制,大概在5M左右。数据不同,只在当前会话内有效。不在不同的浏览器内共享。

    3)locaolStorage:在所有同源窗口中都会共享的。大概5M左右,可以持久保存。

    7、flex的属性

    flex-direction:排列方式

    flex-warp:是否换行

    justify-content对齐方式(flex-start,flex-end,center,space-around,space-between)

    align-items:对齐方式(flex-start,flex-end,center,baseline,stretch)

    align-content:(flex-start,flex-end,center,stretch,space-between,space-around)

    flex-grow:设置空间比例,等比放大或缩小

    flex-shrink:默认值为1,如果设置为:0,则在空间不足情况下值为1的等比缩小。

    flex-basis:将项目设置固定空间。

    8、清除浮动的方法

    1)给父容器设置高度

    2)浮动元素结尾增加一个空的div:clear:both;

    3)通过伪元素设置:after{content:“”,display:block;clear:both;}

    4)父容器overflow:hidden;

    5)overflow:auto;

    9、link和@import的区别

    1)link是XHTML标签,除了可以加载css还可以定义RSS等其他事件,@import属于css范畴,只能加载css

    2)link引用css时,在页面载入的同时加载:@import在页面完全加载完成之后加载。

    3)link无兼容性问题,@import低版本浏览器不支持(目前可以忽略)

    4)link支持使用JavaScript控制DOM去改变样式;@import不支持;

    10、闭包(老生常谈)

    闭包就是能够读取其他函数内部变量的函数。

    输出方法:

    function Foo(){
    getName = function(){alert(1)}
    return this;
    }
    Foo.getName = function(){alert(2)}
    Foo.prototype.getName = function(){alert(3)}
    var getName = function(){alert(4)}
    function getName(){alert(5)}
    Foo.getName();
    getName();
    window.getName();
    getName();
    new Foo.getName();
    new Foo().getName();
    new new Foo().getName();

    11、promise方法的理解和使用

    https://www.jianshu.com/p/063f7e490e9a

    12、简述一下JavaScript原型链继承原理

    通过新的实例继承父构造函数与其原型的属性,然后通过替换子构造函数原型达到继承的目的

    http://www.cnblogs.com/manfredHu/p/4421921.html

    13、href和src的区别!

    href是引入超文本,src是具体的来源地址。一个是引入,一个是引用,引入不影响向页面结构,引用影响。

  • 相关阅读:
    如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)?
    Quartz.NET开源作业调度框架系列(五):AdoJobStore保存job到数据库
    Quartz.NET开源作业调度框架系列(四):Plugin Job
    Quartz.NET开源作业调度框架系列(三):IJobExecutionContext 参数传递
    Quartz.NET开源作业调度框架系列(二):CronTrigger
    Quartz.NET开源作业调度框架系列(一):快速入门step by step
    如何在Visual Studio中开发自己的代码生成器插件
    C#如何定制Excel界面并实现与数据库交互
    Ajax+PHP+MySQL 登陆示例
    Tomcat性能优化(二) ExpiresFilter设置浏览器缓存
  • 原文地址:https://www.cnblogs.com/Strong-stone/p/10637540.html
Copyright © 2020-2023  润新知