美文网首页工作生活
平安前端面试

平安前端面试

作者: moly琴 | 来源:发表于2019-07-01 08:52 被阅读0次

    1、HTML5的新特性有哪些?新特性api?

    1. 语义化更好的内容标签(header,nav,footer,aside,article,section)
    2. 画布(Canvas) API
    3. 音频、视频API(audio,video)
    4. 地理(Geolocation) API
    5. 拖拽释放(Drag and drop) API
    6. 本地离线存储 。localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除
    7. 表单控件,calendar、date、time、email、url、search
    8. 新的技术webworker, websocket, Geolocation

    2、HTML5画布canvas的三个元素?

    1. 使用canvas元素创建一个画布区域,并获取该元素。
    2. 通过获取的canvas元素,取得该图形元素的上下文环境对象(context)。
    3. 根据取得的上下文环境对象,在页面中绘制图形或动画
      canvas元素绘制图形的两种方式:填充(fill)与绘制边框(stroke),填充是指填满图形内部,绘制边框是绘制图形的边框。canvas元素结合使用这两种方式来绘制图形。

    3、说说你对HTML5语义化的理解?

    比如说<p>标签就是段落的意思,在HTML5中所有的标签都有它书面上的语义。而没有语义的标签在HTML中有,在HTML5中就没有了,比如<font>标签。

    HTML5新增语义标签(header,nav,footer,aside,article,section

    HTML5代码中出现的标签都是让开发人员或浏览器一看就知道是干什么用的东西。

    那么语义化以后对HTML文档有什么好处么?

    1.可以提升可访问性与互操作性(兼容性会更好);
    2.改进搜索引擎的优化;
    3.一般来说可以让HTML文件更小;
    4.让代码更好唯护,与CSS3的关系更和谐。

    因为现在一些SEO与浏览器或是屏幕阅读器(一个给残障人士用的文章阅读器)都在根据HTML5的新标准做一些新的功能,他们会跟具新的语义直接与自身的功能相对应。如果网页的开发者也是这么做的,那么你的网站的应用性会大大的增加。

    4、cookies 和localStorage、sessionStorage的区别?

    生命周期:

    cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效

    localStorage:除非被手动清除,否则将会永久保存。

    sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除。

    存放数据大小:

    cookie:4KB左右

    localStorage和sessionStorage:可以保存5MB的信息。

    http请求:

    cookie:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题

    localStorage和sessionStorage:仅在客户端(即浏览器)中保存,不参与和服务器的通信

    易用性:

    cookie:需要程序员自己封装,源生的Cookie接口不友好

    localStorage和sessionStorage:源生接口可以接受,亦可再次封装来对Object和Array有更好的支持

    应用场景:

    从安全性来说,因为每次http请求都会携带cookie信息,这样无形中浪费了带宽,所以cookie应该尽可能少的使用,另外cookie还需要指定作用域,不可以跨域调用,限制比较多。但是用来识别用户登录来说,cookie还是比storage更好用的。其他情况下,可以使用storage,就用storage。

    storage在存储数据的大小上面秒杀了cookie,现在基本上很少使用cookie了。

    localStorage和sessionStorage唯一的差别一个是永久保存在浏览器里面,一个是关闭网页就清除了信息。localStorage可以用来跨页面传递参数,sessionStorage用来保存一些临时的数据,防止用户刷新页面之后丢失了一些参数。

    浏览器支持情况:

    localStorage和sessionStorage是html5才应用的新特性,可能有些浏览器并不支持,这里要注意。

    image.png

    cookie的浏览器支持没有找到,可以通过下面这段代码来判断所使用的浏览器是否支持cookie:

    if(navigator.cookieEnabled) {
      alert("你的浏览器支持cookie功能");//提示浏览器支持cookie  
    } else {
      alert("你的浏览器不支持cookie");//提示浏览器不支持cookie   }复制代码
    
    数据存放处:
    Cookie、localStorage、sessionStorage数据存放处.png

    5、什么是cookies?

    1. Cookie是HTTP协议的规范之一,它是服务器和客户端之间传输的小数据。
    • 首先由服务器通过响应头把Cookie传输给客户端,客户端会将Cookie保存起来。
    • 当客户端再次请求同一服务器时,客户端会在请求头中添加该服务器保存的Cookie,发送给服务器。
    • Cookie就是服务器保存在客户端的数据!
    • Cookie就是一个键值对!!!
    1. Cookie规范
    • Cookie通过请求头和响应头在服务器与客户端之间传输;
    • Cookie大小限制在4KB之内;
    • 一台服务器在一个客户端最多保存20个Cookie;
    • 一个浏览器最多可以保存300个Cookie;

    6、vue怎么实现双向绑定?实现原理是什么?

    vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的
    因为vue是通过Object.defineProperty()来实现数据劫持的。

    vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的settergetter,在数据变动时发布消息给订阅者,触发相应的监听回调。

    7:如何实现浅复制

    8:什么是深度复制

    9:关于前端的一些优化手段

    1.页面内容

    10:什么是闭包

    11:vue在ie8、ie9中的空白显示问题

    相关文章

      网友评论

        本文标题:平安前端面试

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