大家一起加油,我喜欢分专栏将知识打碎成一份一份小知识点,一篇文章只说一个知识点,因此每篇文章篇幅较短,希望大家不要介意。如有需要可以查看专栏看看是否有该文章中涉及到的知识点进行讲解的文章,如果大家觉得有帮助,希望大家三连支持一下。 |
推荐阅读
事情起源
昨天晚上和女票吃完晚饭后,去给她闺蜜送点东西,到她闺蜜家后,我女票和她闺蜜在那聊这聊那,我无聊啊,我插不进去话。然后点开了QQ学习群,刚好看见一个群友发出了他面试的面试题。如下
我点开一看,第二题还行,但是我在外面啊没有电脑,然后他又说
好吧帮人帮到底,我给他发了关于第三题我写的文章
后续10点多回到家,赶紧打开电脑为其解答
第二题
const adjoin = function(arr, callback) {
let result = [];
let bridge = [];
arr.forEach(function(item) {
callback(item) ?
bridge.push(item) : (() => {
bridge.length > 0 ? result.push(bridge) : null;
result.push(item);
bridge = [];
})()
})
if (bridge.length > 0) result.push(bridge);
return result;
}
console.log(adjoin([1, 2, 3, 4, 5], item => item !== 3));
console.log(adjoin([1, 2, 3, 4], item => item < 3));
第三题
Function.prototype.eatFirst = function(msg) {
const _this = this;
return function() {
(function() {
console.log(`Eat ${msg}~`);
})(...arguments)
_this.call(this, ...arguments);
};
};
Function.prototype.eat = function(msg) {
const _this = this;
return function() {
_this.call(this, ...arguments);
(function() {
console.log(`Eat ${msg}~`);
})(...arguments)
};
};
function ManBehavior(msg) {
console.log(`Hi This is ${msg}!`);
}
ManBehavior.call(ManBehavior, "Hank");
console.log("-------------");
ManBehavior.eat("dinner").eat("supper").call(ManBehavior, "Hank");
console.log("-------------");
ManBehavior.eat("dinner").eatFirst("lunch").call(ManBehavior, "Hank");
console.log("-------------");
ManBehavior
.eat("dinner")
.eatFirst("lunch")
.eatFirst("breakfast")
.call(ManBehavior, "Hank");
结语
刚好学过这个知识,所以刚好复习并分享出来,大家一起学习加油,后续就是在群里巴拉巴拉找工作的事情,中途还收获了csdn两关注,哈哈哈。
结束啦!