今天回顾了JS的的一些核心概念。
Scope:让你直接说Scope是什么你能说出来吗?反正我是不能。这玩意儿实在太难用一句话来说明了。
Scope chain: Scope Chain是为了保证对执行环境有权访问的数变量和函数的有序访问。作用域链的前端是当前执行环境的Variable Object.作用域链的根是全局作用域对应的Variable Object.
Execution Context:这玩意儿应该是JS中最重要的概念了。执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的Variable Object,虽然编写代码时无法访问这个对象,但解析器在处理数据时会在后台使用它。Execution C
Activation Object:当函数被调用时,一个Activation Object就创建了。它其实也是个Variable Object,也包含了变量以及FD类型的函数,但是它比普通的Variable Object多了形参以及arguments.arguments其实也是形参得来的,只不过对形参加了有序索引。
Prototype:什么是原型?每个对象内部都有一个__proto__来引用原型对象。这一句话也难说清楚。但是我们可以从对象说起。一个对象是由属性集合以及唯一的原型对象构成。这个原型对象可以是普通的对象,也可以是NULL。
Prototype Chain:这是个有限对象链条,是为了实现继承和共享属性的。当C的Prototype指向B,B的Prototype指向A,ETC.这样就构成了一个原型链条。知道Object.
this: THIS也是一个对象咯,只是它是和执行环境有关的一个对象。所以它也可以叫做Context Object.它是Exeuction Context的一个属性。而不是Variable Object的一个属性。
HTML的一些回顾:
HTML的块元素:Div, P, H1-H6, UL, OL, LI,TABLE,dl,dt,dd
HTML的inline元素:span,label, strong, em, a, sub, sup,i,form, fieldset
HTML缺省Inline-block元素:img,input, button,select
HTML不管是BLOCK还是INLINE,可以继承的属性?答:cursor,visibility
Block元素可以继承的属性:text-align, text-indent
Inline元素可以继承的属性:font-size, font-weight, font-family, color, font, font-style, line-height, word-spacing,letter-spacing,text-decoration, text-transform,etc
列表元素可以继承:list-style-position,list-style-type,list-style-image
表格元素可继承:border-collapse
注意:内联元素的width和height是不生效的
text-indent是首行缩进。
今天H5的一些小发现:
H5是干什么的?H5是为了在不用插件的情况下把想展现的东西都给你展现出来。比如audio, video, canvas, svg等标签。
H5中的text-shadow:hv, vv, 模糊度,颜色等。也是H5的一个亮点了。
H5新增的10个标签元素:当然主要是INPUT了:date, time, datetime, datalist(相当于autocomple),email,telephone,number, range, url, search等。还是蛮强大的。
H5的Column Layout在IE这破玩意儿下是不被支持的。
多列布局,常见的就是fixed+liquid,或者纯粹用float布局。
下面是CSS OVERLAY的小总结:
也是携程的面试题,我日,本来在公司做过ColorBox的,居然没想起来遮罩层该怎么做。
就是在手机端全屏幕的情况下,在离底部30%的地方做一个小遮罩层,但可以透过这个小块儿看到后面一个被遮罩的大背景,有几种方案了:
1.overlay层全铺满,半透明;modal层再设个半透明,就行了。前提是body要设成relative,同时overlay和modal层用absolute布局。
2.overlay层全铺满,半透明;modal层用fixed布局。这样body就不用设成relative了。
3.用伪类after,在BODY后面加个outline或者shadow-box作为overlay,然后HTML页面上再写个modal就可以了。