1 react 和 vue 的区别
- react 采用特殊的JSX 语法 ,Vue中推崇 .vue 的特殊文件格式
- react 一直是单向数据流,vue支持双向绑定
- react 是前端组件化框架,由后端组件化发展而来,vue本质是MVVM框架,由MVC发展而来.
- react 是在组件js代码中,通过原生js实现模板中的常见语法,vue是在和组件js代码分离的单独模板中通过指令来实现的.
- react 在状态被改变是,所有子组件都会重新渲染,vue的话会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树
emm还有再补充吧
2https和http的区别
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
区别:
https协议需要去申请证书,一般免费证书较少,因而需要一定费用
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
3 数组去重问题
var arr = [‘aa’,‘bb’,‘cc’,‘aa’,‘11’,‘22’,‘33’,‘11’,null,null];
1.
var result = [];
arr.forEach(item=>{
result.indexOf(item)==-1?result.push(item):null
})
console.log(result)
Array.from(new Set(arr))
console.log(Array.from(new Set(arr)));
3.
var result=[]
arr.sort().forEach((item,index)=>{
item != arr[index-1] ? result.push(item) : null
})
console.log(result);
emmm 还有再补充吧
4.深拷贝和浅拷贝问题
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。