结尾
学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
style(全部代码)
\* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
::-webkit-scrollbar {
width: 0;
}
body {
height: 100vh;
}
.box {
padding: 20px;
}
pre {
margin-top: 36px;
}
pre:first-child {
margin-top: 0px;
}
code {
white-space: pre-wrap;
}
JavaScript(核心代码)
function publicFn(elStr, lang) {
let pre = document.createElement("pre"),
code = document.createElement("code");
code.setAttribute("id", \`\${lang}_box\`);
code.classList.add("hljs");
code.classList.add(\`language-\${lang}\`);
pre.appendChild(code);
box.appendChild(pre);
let el = document.querySelector(\`#\${lang}_box\`);
publicChage();
function publicChage() {
const str = elStr.charAt(i);
el.textContent += str;
i++;
if (i < elStr.length) {
setTimeout(publicChage, timeNum);
} else {
i = 0;
const result = hljs.highlight(elStr, { language: lang });
el.innerHTML = result.value;
setTimeout(() => {
initFnRun(1, lang);
}, 1000 \* 1);
}
}
}
总结:
-
函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;
-
它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Tips:
其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;
我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势。
理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;
所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全;