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协议跨域
【具体了解程度还是要自己撸代码的,那我下去撸了~😄】
网友评论