今天的面试题 (2020.01.05) —— 第3天
- [js] Ajax原理
- 创建对象
- 发送请求
- 打开链接
- 判断状态码,执行不同代码
var xhr = new XHRHttpRequest();
// 第三个参数:是否为异步
xhr.open("GET","text.txt", true);
xhr.send();
xhr.readystatechange = function () {
// 判断对应的状态码,执行不同的代码
if (xhr.readyState==4 && xhr.status==200){
// xhr.responseText是浏览器成功接受服务器返回的数据
}
}
- [ES6] 什么是Promise
一个Promise的三种状态:- pending: 初始状态,既不是成功,也不是失败
- resolve : 意味着操作成功
- reject:意味着操作失败
Promise的这三种状态有两个特点:
- 对象的状态不受外界影响,任何其他操作都无法改变其状态,这也是Promise这个名字的由来
- 一旦状态改变,就不会在变,任何时候都可以得到这个结果。
Promise对象状态的改变只有2中可能: 从pending变成resolve,或者从pending变成reject,只要这两种情况发生,状态就凝固了,会一直保持这个结果
Promise基本用法
ES6规定,Promise对象是一个构造函数,用来生成Promise实例
下面代码创造了一个Promise实例
const promise = new Promise( (resolve, reject) => {
if(//操作成功){
resolve(value)
}else {
reject(error)
}
})
- [Vue] computed 和 watch的区别和运用的场景
computed:是计算属性,依赖其他属性值,并且computed的值有缓存,只有他依赖的属性发生变化,下一次获取computed的值时才会重新计算
watch:更多起的是观察的效果,每当观察的变量值发生改变,然后做其他的回调操作
- 当我们需要进行数值计算,并且依赖于其他数据时,应该使用computed,因为可以利用computed的缓存特性。
- 当我们需要在数据变化执行异步或者开销较大的操作时,应该使用watch,使用watch允许我们执行异步操作(访问一个api)
《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。
前端面试每日3+1题,以面试题来驱动学习,每天进步一点!
让努力成为一种习惯,让奋斗成为一种享受!
- 学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天纯手工发布面试题(死磕自己)。
- 希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。
- 在这千变万化,类库层出不穷的前端,不建议大家等到要找工作时,才狂刷题,提倡每日学习!(不忘初心,后面会多出Vue、js的相关面试题)
- 欢迎大家加我QQ(2581229638)或者微信交流,大家有啥好的建议可以加我微信一起交流讨论!
作者:李永奇
链接:https://www.jianshu.com/p/3ac358c02e86
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。