1,对于vue和react区别,选型如何考虑?
答:
- React:React是一个用于创建可重用且有吸引力的UI组件的库。它非常适合代表经常变化的数据的组件。
- Vue:Vue.js是一个开源JavaScript框架,能够开发单页面应用程序。它还可以用作Web应用程序框架,旨在简化Web开发
共同点
- 都是为了一起与核心库使用而构建的,并将其他功能如路由和全局状态管理交给相关库;
- 两者都是基于Virtual DOM模型,
- 提供了以响应式和组件化的视图组件。
组成结构
React.js是使用虚拟DOM(基于文档对象模型),有丰富的JavaScript库,具有灵活的结构和可扩展性。
Vue.js包含基于HTML的标准模板,可以更轻松地使用和修改现有应用程序,可以更顺畅的集成(组件),有更好的性能和更小的体积;
组成结构当组件发生变化时,React会触发整个组件树的重新渲染,需要使用额外的属性阻止不相关的子组件的渲染。
在Vue的应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能准确的知道哪个组件确实需要重新渲染。
JSX与HTMLReact使用JSX-一种声明式JavaScript XML,允许开发人员利用JavaScript的强大功能编写组件。
Vue使用HTML模板创建视图。
路由和状态管理React使用Flux / Redux,它代表单向数据流。
Vue使用Vuex,是专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
跨平台应用程序开发React的React Native是一个成熟且广泛使用的本机渲染应用程序平台。
Vue框架被广泛应用于weex页面开发,致力于使开发者能基于通用跨平台的 Web 开发语言和开发经验,来构建 Android、iOS 和 Web 应用
总结
React:需要构建移动应用程序;专业和出色的社区支持;需要构建大型应用程序;轻量级,易于版本迁移。
Vue:有最新的文档和最简单的语法;更小,更快,更灵活;丰富的HTML模板,易于开发;组件的可重用性;需要构建有吸引力的单页面应用程序和Web应用程序
2.请简述vue3.0 proxy优缺点
答:知识点链接:http://www.cppcns.com/wangluo/javascript/319626.html
3.请描述cookies,sessionStorage
⒈localStorage长期存储数据,浏览器关闭数据后不丢失;
⒉sessionStorage数据在浏览器关闭后自动删除;
⒊cookie是网站为了标识用户身份而存储在用户本地终端(Client Side)上的数据(通常经过加密)。cookie始终在同源的http请求中携带(即使不需要)都会在浏览器和服务器端间来回传递。session storage和local storage不会自动把数据发给服务器,仅在本地保存;
⒋存储大小:cookie数据大小不会超过4K,session storage和local storage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或者更多;
⒌有期时间:local storage存储持久数据,浏览器关闭后数据不丢失,除非自动删除数据。session storage数据在当前浏览器窗口关闭后自动删除。cookie 设置的cookie过期时间之前一直有效,即使窗口或者浏览器关闭;
知识点链接:https://www.cnblogs.com/pengc/p/8714475.html
4.CSS 优化、提高性能的方法有哪些?
慎重使用高性属性:浮动、定位;
去除空规则;
属性值为0时,不加单位;
属性值为浮点数0.**时,可以省略小数点前的0;
标准化各种浏览器前缀,带浏览器前缀的在前,标准的在后;
不使用@import前缀,它会影响css加载速度;
充分利用css继承属性,减少代码量;
抽象提取公用样式,减少代码量;
选择器优化嵌套,尽量避免层级过深;
将css文件放在页面的最上面;
知识点链接:https://www.jianshu.com/p/00dda16dcb02
5.vue如何监听某个属性的变化?
1深度监控,监测所有属性的变化
watch:{
obj:{
handler(newVal,oldVal){
},
deep:true
}
}
2.监测某个属性的变化:
watch:{
'obj.a':{
handler(newVal,oldVal){
}
},
'$route.path'(newVal,oldVal){
//监听路由的变化
}
}
3计算属性
computed:{
a1(){
return this.obj.a;
}
}
4.watch与computed的区别?
作用:两者都可以用来监听属性的变化。
computed:根据其他依赖的属性,来形成新的属性;
watch:用来监听data或props属性中数据的变化,从而触发相关操作;
区别:
computed:
1、是基于data中声明过或父组件传递的props中的数据计算得到的;
2、computed结果会被缓存,只有当依赖的数据发生变化才会重新计算;
3、不支持异步,当computed内有异步操作时无效,无法监听数据的变化;
4、computed中的属性有get和set方法,但是默认走get方法。
watch:
1、watch监听的数据必须是data中声明过或父组件传递的props中的数据;
2、watch不会被缓存,当监听的数据变化时,直接出发响应的操作。
3、支持异步
4、watch方法中有两个属性:immediate(组件加载立即触发方法),deep(深度监听)
5、使用场景:需要执行异步操作,或者开销较大的操作。
6.font-style属性可以让赋值为oblique,oblique是什么意思
答:italic和oblique都是向右倾斜的文字,但区别在于Italic是指斜体字,而Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果.
7.如何预防中间人攻击
答:https://www.jianshu.com/p/210c296eb836
8.['1','2','3'].map(parseInt)
结果为 1 NaN NaN
知识点链接:https://www.cnblogs.com/zsp-1064239893/p/12286842.html
9.js实现图片懒加载
知识点链接:https://blog.csdn.net/w1418899532/article/details/90515969