Open gdutjason opened 1 year ago
实现一个sum(1,2,3)(4)(5)(6,7)(8)() 返回结果为这些数字的和:36。
这是一道考察求和+闭包+递归的题目。
实现一个sum(1,2,3)(4)(5)(6,7)(8)()升级版:如何实现加,减,乘,除呢? 除了考察求和,闭包,递归以外,还考察了柯里化函数。
sum和multiple不用关注顺序。 而minus和divide需要注意顺序,因此在return curried(...[result, ...arguments]);中将result前置了。
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2');
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0)
async1();
new Promise(function(resolve) {
console.log('promise1');
resolve();
}).then(function() {
console.log('promise2');
});
console.log('script end');
这道题考察哪些是宏任务、微任务,以及其执行顺序,其中settimeout是宏任务,promise的then和await之后的的语句为微任务
写一个类Person,拥有属性age和name,拥有方法say(something)
再写一个类Superman,继承Person,拥有自己的属性power,拥有自己的方法fly(height) ES5方式
小伙伴们空闲时间可以做这些题目练练手。 1、实现一个sum(1,2,3)(4)(5)(6,7)(8)() 2、实现一个sum(1,2,3)(4)(5)(6,7)(8)()升级版:如何实现加,减,乘,除呢? 3、哪些是宏任务、微任务,以及其执行顺序 4、SuperPerson继承Person 5、substr、substring、slice(待补充) 6、slice、splice(待补充) 7、map、reduce、filter(待补充) 8、前端控制并发请求数量