美文网首页vue面试题
第二十天web前端面试题

第二十天web前端面试题

作者: 小程要谦虚 | 来源:发表于2019-07-30 19:25 被阅读88次

    1,什么是事件代理且描述事件代理的原理及为什么要用事件代理?

    事件委托也叫事件代理。利用事件冒泡,让自己的触发的事件,让父元素代替执行。

    它可以使 (1)性能更优 (2)动态创建的DOM依然具有事件

    2,移动端1px问题,为什么会有?如何解决?

    因为在移动端,由于屏幕分辨率的不同,现在分为一倍屏,二倍屏,三倍屏。在不同的分辨率上,有可能1像素,被渲染成两个像素,或者三个像素点,所有实际写代码时,写border:1px solid red;时,1px可能被渲染为2px或者3px

    1px的解决方案

    1.先使用伪类元素实现边框效果,然后通过媒体查询来操控transform: scale来适配不同分辨率

    2.使用border-image来代替border

    3.使用viewport +rem

    3,解释jsonp的原理

    ajax请求受同源策略影响,不允许进行跨域请求,而script标签src属性中的链接却可以访问跨域的js脚本,利用这个特性,服务端不再返回JSON格式的数据,而是返回一段调用某个函数的js代码,在src中进行了调用,这样实现了跨域。

    就是利用浏览器可以动态地插入一段js并执行的特点完成的。

    4,在工作中你是如何优化自己的代码的?

    全组件化

    模块化封装

    代码重用

    避免全局变量(命名空间,封闭空间,模块化 mvc..)

    拆分函数避免函数过于臃肿

    注释

    5,axios是什么?如何使用?描述其实现登录的流程

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

    1.支持promise

    2.提供了一些并发请求的方法

    3.提供拦截器

    4.可以实例化,进行基础配置

    5.提供支持

    登录基本流程描述

    客户端用户输入账户密码通过API传递给后台,后台收到账户和密码以后就会和数据库中的进行比对,如果都正确,那么就更新用户的状态为已登录。

    axios登录和其它最大的区别

    就是提供了拦截器功能

    6,用JS去掉数组里面重复的数据,并且打印出来

    var arr = [a,b,c,d,d,e,a,b,f,g]

    相关文章

      网友评论

        本文标题:第二十天web前端面试题

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