前端自测:这些姿势你都知道吗?

前端自测系列由来

作为前端萌新(大雾)要随时不忘自我检查,提升修为,望早日位登前端老司机,因此便有了前端自测系列文章,希望各位道友共勉,也希望路过的老司机载上一程,我等自愿奉上学生卡。

打卡第一天

话不多说上题:

** 1、 用js实现千位分隔符 **
首先点我看一下千位分隔符的概念,这道题可以尝试用正则解

var str = '123456789';
str.replace(/(?=(?!^)(\d{3})+$)/g,',');

这里只对不含小数点的字符串进行了匹配,简单的解释一下就是匹配 ** 除起点到结尾有3n个数字的位置 ** ,如果想了解更多,可以看我的参考文章:千位分隔符的完整攻略,环视。

** 2、this关键字在不同环境下的指向 **
经典的回答是:** 一个函数作为方法调用this就指向调用者, 作为函数调用就指向全局, call, apply看参数 ** ,哈哈,这只是我见过的我认为特别经典的回答,被我记下来了,如果有其他回答,欢迎留言告知

** 3.null和undefined的区别 **
可以在控制台打印出 null === undefinednull == undefined的值发现前者是false后者是true,两者在if语句中,都会被自动转为false。
两者不同:在控制台中输入 1+null1+undefined前者得到的是1后者得道的是NAN,null表示一个空对象指针,在变量声明而为表示时是undefined。

** 4、盒模型 **
盒子模型的范围包括 margin、border、padding、content。
w3c标准的盒模型宽高只限于content,而ie高宽包括 border 和 pading。
我们可以通过box-sizing如果是border-box则将 border 和 pading算入高宽。
延伸阅读,margin纵向重叠

** 5、例举行内元素和块级元素 **
块级元素:div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table
行内元素:span, strong, em, br, img , input, label, select, textarea, cite,

  1. 块级元素会独占一行,其宽度自动填满其父元素宽度,行内元素不会独占一行,相邻的行内元素会排列在同一行里,知道一行排不下,才会换行,其宽度随元素的内容而变化
  2. 块级元素可以设置 width, height属性,行内元素设置width, height无效
  3. 块级元素可以设置margin 和 padding. 行内元素的水平方向的padding和margin都产生边距效果,但是竖直方向的padding和margin都不会产生边距效果。

声明一下

大部分答案都来自作者参考资料(链接以给出)+个人总结,希望能坚持一周一篇。将自己看到的一些 ** 这些我不知道,以及这些我没想到,或者这些我知道,只是我有点解释不清 ** 的知识点解释用文字表达出来,带上我的原文小伙伴,与小伙伴们共勉。

你可能感兴趣的:(前端自测:这些姿势你都知道吗?)