第一题
请实现一个cacheRequest方法,保证当使用ajax(请求相同资源时,此题中相同资源的判断是以url为判断依据),真实网络层中,实际只发出一次请求(假设已存在request方法用于封装ajax请求,调用格式为:
request(url, successCallback, failCallback)
) 比如调用方代码(并行请求)如下
cacheRequest('/user', data => {
console.log('请求的user,数据为' + data);
})
cacheRequest('/user', data => {
console.log('请求的user,数据为' + data);
})
第二题
使用闭包实现一个counter函数,全局下每次调用返回值 +1
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3
第三题
console.log(1);
setTimeout(() => {
console.log(2)
});
Promise.resolve().then(() => {
console.log(3);
});
setTimeout(() => {
console.log(4)
});
new Promise(resolve => {
console.log(5);
resolve();
console.log(6);
}).then(() => {
console.log(7)
});
Promise.resolve().then(() => {
console.log(8);
Promise.resolve().then(() => {
console.log(9)
});
});
第四题
var name = "222"
var a={
name:"111",
say:function(){
console.info(this.name);
}
}
var fun = a.say;
fun();
a.say();
var b = {
name:"333",
say:function(fun){
fun();
}
}
b.say(a.say);
b.say = a.say;
b.say();
/* 答案:
222
VM272:5 111
VM272:5 222
VM272:5 333 */
第五题
给你两个有序整数数组 nums1 和 nums2,请你合并num1和nums2,返回一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
不能使用sort
示例:
输入:
var nums1 = [1,2,3,7], m = 4;
var nums2 = [2,5,6], n = 3;
输出: [1,2,2,3,5,6,7]
网友评论