HTML5 面试题~经验(一)

作者: 石虎132 | 来源:发表于2018-01-25 10:27 被阅读164次

    //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄

    一、概念

    1、页面导入样式时,使用link和@import有什么区别?

       答案解析:

     1)link属于XHTML标签,而@import是css提供的;

     2)页面被加载时,link会同时被加载,而@import引用的css会等到页面被加载完再加载;

     3)@import只在IE5以上才能识别,而link是XHTML标签,无兼容问题;

     4)link方式的样式的权重高于@import的权重。

    2、web storage和cookie的区别

     1) Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。

     2)Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。除此之外,

     3) Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。

     4) 但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。

    3、如何区分 HTML 和 HTML5?

       答案解析:

     1)在文档类型声明上不同:

        HTML是很长的一段代码,很难记住,而HTML5却只有简简单单的声明,方便记忆。

     2)在结构语义上不同:

        HTML:没有体现结构语义化的标签,通常都是这样来命名的,这样表示网站的头部。

        HTML5:在语义上却有很大的优势。

    4、浏览器的内核分别是什么?

        答案解析:

        IE: trident内核

        Firefox:gecko内核

        Safari:webkit内核

        Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核

        Chrome:Blink(基于webkit,Google与Opera Software共同开发)

    5、简述同步和异步的区别

        答案解析:

        同步是阻塞模式,异步是非阻塞模式。

        同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;

        异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

    6、什么是盒子模型?

        答案解析:

    在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边距(margin)四个部分。这四个部分占有的空间中,有的部分可以显示相应的内容,而有的部分只用来分隔相邻的区域或区域。4个部分一起构成了css中元素的盒模型。

    7、垃圾回收机制(GC)

        我们一般说的垃圾回收是针对内存而言的。内存在计算机中是很宝贵的一种资源,任何程序的运行都离不开它。由于内存可以被程序操控,为了防止内存被程序滥用,对内存空间进行管理是十分必要的。说到内存管理,自然离不开JS中的垃圾回收机制,有两种策略来实现垃圾回收:【标记清除 和 引用计数;】

        函数运行的时候,浏览器自动开辟一块内存 把浏览器内部的各种变量,存放在此内存中运行结束后,用不到的变量,把它自动回收

    8、原型、原型链

        每个函数都有一个prototype(原型)属性;对象是没有原型的 ,但是有_proto_(原型链),指向父级函数的原型。

    9、事件委托、事件冒泡、事件捕获

        一个div里面有个span元素 ,当鼠标单击span时,这个事件算是谁的?div还是span?

        事件冒泡: IE认为,这个事件首先触发span,然后依次往父节点传递,最终传递到document,(这个过程称为冒泡)

        事件捕获:网景浏览器认为,任何事件都首先触发document,然后依次往下传递到span元素,(这个过程称为捕获)

        事件委托:根据事件冒泡机制,任何事件都会冒泡到document,事件委托就是把所有事件处理函数绑定到document,根据事件参数判断事件源对象,判断不同的对象给予不同的处理函数,

    10、如何区分:DOCTYPE 声明\新增的结构元素\功能元素,语义化的理解?

        答案解析:

     1)用正确的标签做正确的事情;

     2)html语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;

     3)在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的;

     4)搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利用 SEO ;

     5)使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。

    谢谢!!!

    相关文章

      网友评论

        本文标题:HTML5 面试题~经验(一)

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