美文网首页
2019-05-22记面试

2019-05-22记面试

作者: 泡沫双鱼座 | 来源:发表于2019-05-23 19:47 被阅读0次

    1.h5和css3的新特性

    h5新特性:语义化标签[footer,header,section,nav];;

        表单:type值[date,calendar];新增表单属性[required,min,max];;

        音频视频:audio、video;;  canvas;;  地理定位;;拖拽;;本地存储

       h5新事件:onresize调整窗口大小运行脚本,ondrag拖动元素运行脚本,onplay开始播放运行脚本,onpause暂停时运行脚本

    css3新特性:选择器[伪类{向某些选择器添加特殊的效果(没有创建新元素)}和伪元素{创建了html中不存在的元素,用于将特殊的效果添加到某些选择器}];

        背景和边框;文本效果;

    2D/3D转换;2D转换(transform[translate()元素从其当前位置移动,根据给定的left(x坐标)和top(y坐标)位置参数])

    动画/过渡;

    [面试过程中,对方提了很多关于动画和转换的知识点,所以把这些基础的再重新学一遍,“温故而知新”果然是老前辈们传下来的宝~🤗]

    2.px,em,rem之间的区别

    px:绝对单位,页面按精确像素显示,不随其他元素的变化而变化;

    em:相对单位,基准点是父节点字体的大小;

    rem:相对单位,相对HTML根元素;

    px和%可以充多更多属性的单位,而em和rem是字体大小的单位,一般来说1em=1rem=100%=16px.

    3.如何隐藏一个元素(至少写出三种方式)?

    display: none;不占空间;visibility:hidden;占据文档位置

    opacity: 0;  transparent;rgba()

    4.cookie,sessionStorage,localStorage之间的区别

        1>生命周期:localStorage本地存储是永久的;sessionStorage会话存储生命周期为当前窗口或标签页,一旦关闭,那么数据就被清空;cookie只在设置的cookie过期时间之前有效,即使窗口或浏览器关闭

        2>作用域不同:不同浏览器无法共享localStorage或sessionStorage之间的信息

        3>相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和协议,主机和端口);不同页面或标签页面无法共享sessionStorage数据

        4>存储大小:cookie是4KB,而另外两个是5M

        5>存储位置:cookie的作用是与服务器进行交互,作为http规范的一部分;localStorage和sessionStorage都保存在客户端,不与服务器进行交互通信

        6>存储内容类型:cookie只能存储String类型的数据,localStorage和sessionStorage只能存储字符串类型,对于复杂的可以使用json对象的stringfy和parse来处理

        7>应用场景:localStorage常用于长期登录(+判断用户是否已登录+保存用户在电商网站的购物车信息),适合长期保存在本地的数据;sessionStorage敏感账号一次性登录;保存登录信息(比如登录某个网站可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的)

    5.同步和异步的区别

    同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为;

    异步方法调用更像是一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常在另外一个线程中,“真实”地执行者,整个过程,不会阻碍调用者的工作

    【记一段话:只看概念会很清楚是什么,但是突然遇到的时候,总是会弄混,因此实际过程中要先想清楚什么情况下的程序是同步或者异步:正常的B/S都是同步的,而ajax在不加async:false(ajax默认情况下是async:true)时则是异步的,当多个线程同时访问并修改一个方法时,可能会出现线程安全问题,所以要在方法或者类上加synchronized修饰词或者块将异步的变成同步的】

    异步请求实现方式:

    1》基于js的原生方法:创建XMLHttpRequest对象

    基于jquery的Ajax方法;vue-axios(promise)

    6.什么是跨域,解决办法

    先了解什么是同源,即同一协议(http/https),同一域名(www.baidu.com/baidu.com),同一端口(:8080/80)。

    当页面执行一个脚本时会检查访问的资源是否同源,如果非同源,那么请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

    跨域:指的是从一个域名去请求另外一个域名的资源,即跨域名请求!只要协议、域名、端口有任何一个不同,就被当做跨域。

    跨域解决方案

    通过jsonp跨域

    document.domain + iframe跨域

    location.hash + iframe

    window.name + iframe跨域

    postMessage跨域

    跨域资源共享(CORS)

    nginx代理跨域

    nodejs中间件代理跨域

    WebSocket协议跨域

    【具体了解程度还是要自己撸代码的,那我下去撸了~😄】

    相关文章

      网友评论

          本文标题:2019-05-22记面试

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