1.ajax中get和post的区别
get方式:参数会拼接到url后面,成为url的一部分
post方式:数据放在send()里面作为参数传递
get方式请求的数据会被浏览器缓存起来,会带来严重的安全问题,post没有缓存问题
使用get请求发送数据量小,post请求发送数据量大
2.前端图片缓存处理方式
在图片src路径后面加上随机数,使浏览器认为每次加载的不是同个图片
3.不改变url情况下怎么更新图片
(1)向URL添加唯一的破坏缓存的查询参数,例如:newImage.src = “image.jpg?t=” + new Date().getTime();
(2)使用Javascript强制刷新特定图像,将要刷新的图像加载到隐藏的iframe中,iframe.contentWindow.location.reload(true)…这个true强制缓存旁路,直接从服务器重新加载并覆盖现有的缓存副本。
4.nigix反向代理
优点:
可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器。
通过缓存静态资源,加速Web请求。
实现负载均衡。
实现方法:
在http几点下添加 upstream节点配置tomcat
配置location位tomcat集群
5.computed和methods区别
computed计算属性中定义的是属性而不是函数,
计算属性computed被使用时会进行缓存,如果需要多次使用,则只需要调用1次;而methods中的函数无缓存,如果需要使用n次,则需要调用n次。
比如:
我们想去时刻监控数据的变化,在视图上显示不同的结果,当然这两中方法都可以实现这种效果,这个时候用computed就比较合理了,因为computed是可缓存的,只要数据层值不改变,computed就不会去改变,而且可缓存,如果数据层的值变了,computed就会实时更新到视图层上,所以说computed是响应式的。
6.vue中SPA的优缺点
spa就是指单页面
优点:
1、 无刷新界面,给用户体验原生的应用感觉
2、 节省原生(android 和 ios)app 开发成本
3、 提高发布效率,无需每次安装更新包
4、 容易借助其他知名平台更有利于营销和推广
5、 符合 web2.0 的趋势
缺点:
1、效果和性能确实和原生的有较大差距
2、各个浏览器的版本兼容性不一样
3、业务随着代码量增加而增加,不利于首屏优化
7.vue中computed和watch的区别
computed:
1、支持缓存,只有依赖数据发生改变,才会重新进行计算
2、不支持异步,当computed内有异步操作时无效,无法监听数据的变化
3、computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值
4、如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed
5、如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。
watch:
1、不支持缓存,数据变,直接会触发相应的操作;
2、watch支持异步;
3、监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;
4、当一个属性发生变化时,需要执行对应的操作;一对多;
5、监听数据必须是data中声明过或者父组件传递过来的props中的数据,当数据变化时,触发其他操作,函数有两个参数:
immediate:组件加载立即触发回调函数执行,
deep: 深度监听,为了发现对象内部值的变化,
8.vuex
它相当于一个公共仓库,保存着所有组件都能共用的数据
5个属性
1.state:vuex的基本数据,用来存储变量
2.geeter:从基本数据(state)派生的数据,相当于state的计算属性,具有返回值的方法
3. mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。
4. action:和mutation的功能大致相同,不同之处在于 ==》1. Action 提交的是 mutation,而不是直接变更状态。 2. Action 可以包含任意异步操作。
5. modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。