总结:
-
函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;
-
它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Tips:
其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;
我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势。
理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;
所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全;
}
.cf:after {
clear:both;
}
.cf {
zoom:1;
}**
原理还是一样的。使用 :after 伪类来提供浮动块后的 clear:both。不同的是,隐藏这个空白使用的是 display: table。而不是设置 visibility:hidden;height:0;font-size:0; 这样的 hack。
值得注意的是这里中的 :before 伪类。其实他是来用处理 top-margin 边折叠的,跟清理浮动没有多大的关系。但因为浮动会创建 block formatting context,这样浮动元素上的另而一元素上如果刚好有 margin-bottom 而这个浮动元素刚好有margin-top 的话,应该让他们不折叠(虽然这种情况并不常见)。
------------------------------------------------------------------------------------------------------------------------------------------------
在写一个网站的样式表的时候,都会不可避免地用到一些中文字体,比如说微软雅黑、黑体等,除非是做英文站,或者说你乐意整站都用浏览器默认的字体,那我也算服了U。在 CSS 中写入中文字体的方法一般采用 font-family:“微软雅黑”,“黑体”;这样类似的表达方式,但是对于像 WordPress 这样需要 UTF8 编码平台来说,一个不注意没有转换编码就会导致中文字体无法按照希望的字体表形出来。所以我们可以通过英文、unicode 这种形式来表达中文,比如说刚才的 font-family:“微软雅黑”,“黑体”;就可以写成 font-family:“Microsoft Yahei”,“SimHei”; 这样看起来是不是也可以统一一点呢。
中文字体与英文、unicode 对应的太多,背也背不下来,就搜集了一张表格收藏记录一下,希望也是你想要的:
| 中文名 | 英文名 | Unicode |
| — | — | — |
| Mac OS |
| — |
| 华文细黑 | STHeiti Light [STXihei] | \534E\6587\7EC6\9ED1 |
| 华文黑体 | STHeiti | \534E\6587\9ED1\4F53 |
| 华文楷体 | STKaiti | \534E\6587\6977\4F53 |
| 华文宋体 | STSong | \534E\6587\5B8B\4F53 |
| 华文仿宋 | STFangsong | \534E\6587\4EFF\5B8B |
| 丽黑 Pro | LiHei Pro Medium | \4E3D\9ED1 Pro |
| 丽宋 Pro | LiSong Pro Light | \4E3D\5B8B Pro |
| 标楷体 | BiauKai | \6807\6977\4F53 |
| 苹果丽中黑 | Apple LiGothic Medium | \82F9\679C\4E3D\4E2D\9ED1 |
| 苹果丽细宋 | Apple LiSung Light | \82F9\679C\4E3D\7EC6\5B8B |
| Windows |
| — |
| 新细明体 | PMingLiU | \65B0\7EC6\660E\4F53 |
| 细明体 | MingLiU | \7EC6\660E\4F53 |
| 标楷体 | DFKai-SB | \6807\6977\4F53 |
| 黑体 | SimHei | \9ED1\4F53 |
| 宋体 | SimSun | \5B8B\4F53 |
| 新宋体 | NSimSun | \65B0\5B8B\4F53 |
| 仿宋 | FangSong | \4EFF\5B8B |
| 楷体 | KaiTi | \6977\4F53 |
| 仿宋_GB2312 | FangSong_GB2312 | \4EFF\5B8B_GB2312 |
| 楷体_GB2312 | KaiTi_GB2312 | \6977\4F53_GB2312 |
| 微软正黑体 | Microsoft JhengHei | \5FAE\x8F6F\6B63\9ED1\4F53 |
| 微软雅黑 | Microsoft YaHei | \5FAE\8F6F\96C5\9ED1 |
| Office |
| — |
| 隶书 | LiSu | \96B6\4E66 |
| 幼圆 | YouYuan | \5E7C\5706 |
| 华文细黑 | STXihei | \534E\6587\7EC6\9ED1 |
| 华文楷体 | STKaiti | \534E\6587\6977\4F53 |
| 华文宋体 | STSong | \534E\6587\5B8B\4F53 |
| 华文中宋 | STZhongsong | \534E\6587\4E2D\5B8B |
| 华文仿宋 | STFangsong | \534E\6587\4EFF\5B8B |
| 方正舒体 | FZShuTi | \65B9\6B63\8212\4F53 |
| 方正姚体 | FZYaoti | \65B9\6B63\59DA\4F53 |
| 华文彩云 | STCaiyun | \534E\6587\5F69\4E91 |
JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】