xjinza
3/12/2018 - 2:05 PM

前端总结

前端总结

1.RGBA和Opacity区别:

当opacity属性的值应用于某个元素上时,是把这个元素(包括它的内容)当成一个整体看待,即使这个值没有被子元素继承。
因此,一个元素和它包含的子元素都会具有和元素背景相同的透明度,哪怕这个元素和它的子元素有不同的opacity属性值。

使用 rgba() 函数符在红-绿-蓝-阿尔法(RGBa)模式下被定义。RGBa 扩展了 RGB 颜色模式,
它包含了阿尔法通道,允许设定一个颜色的透明度。a 表示透明度:0=透明;1=不透明;

2.b标签和strong标签区别,i标签和em标签区别

在摘要中的关键字,评论中的产品名称或其他典型文字的文字的粗体字符中使用<b>。

不要将<b>元素与 <strong>,<em>或<mark>元素混淆。 <strong>元素表示某些重要性的文本(比em更强的强调),<em>强调文本,而<mark>元素表示某些相关性的文本。
<b>元素不传达这样的特殊语义信息;仅在没有其他合适的元素时使用它。

类似的,也不要用 <b> 元素来标记标题。如果需要表示标题,
请使用 <h1> 到 <h6> 标签。此外,可以通过样式表来改变这些元素的的默认样式,结果就是它们并不一定都是粗体。

i和em在 默认情况下,视觉效果是一样的- 这两个标签都把内容呈现为斜体. 但语义是不同的。 <em> 标签表示着重强调其内容,
而 <i> 标签表示从正常的散文中区分出的文本, 如电影或书籍的名字,一个外来词, 或者当文本指的是一个字的定义,
而不是其自身代表的语义。
3.i++和++i的区别
如果有表达式 a = i++  它等价于 a = i ; i = i + 1;
如果有表达式 a = ++i  它等价于   i = i + 1; a = i;

首先两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值
++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,
       即 ++i 是一个左值(可被寻址的值);
       i++ 的后面一步是自增,不是左值。(2的两步分解与左右值的因果关系只是我的直觉,对错还待考证)

       3  ++i 和i++ 的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会给你做优化。但是要注意其生存周期,以及很难察觉的写脏,就好像指针delete以后一定要赋予0一样,我们要注意i值在程序流中的变化。