首页 > 代码库 > 不常见的技术问题
不常见的技术问题
1.white-space:描述如何处理元素中空格。初始值normal,适用于所有元素,有继承性。
取值为normal | nowrap | pre | pre-wrap | pre-line;
2.考试的时候遇见的
<div>文本</div>
//CSS
div{
box-sizing:border-box;
width:100px;
padding:10px;
background-color:red;
background-clip:content-box;
}
box-sizing:用来改变css盒模型对于宽高的计算方式,默认值为content-box,适用于所有元素,没有继承性。
取值 content-box | border-box
content-box
默认值,标准盒模型。width和height只包括内容的宽高,不包括padding+border+margin。比如如果设置width:350px;border:10px
solid black;那么在浏览器中渲染的实际宽度为370px。
border-box
width和height包括padding和border,不包括margin。这是IE怪异模式使用的盒模型(在IE5可查看)。
background-clip: 设置元素的背景(背景图片或颜色)是否延伸到边框下面。默认值为border-box,适用于所有元素,没有继承性。
取值 border-box | padding-box | content-box
border-box 背景延伸到边框外沿但是在边框之下。
js作用域的题
1.var a=2; //全局变量a=2
var func=(function(){
var a=3;//内部变量3
return function(){//返回函数引用
a++;
alert(a);
}
})();
func();
func();
前两句是赋值语句,全局变量a=2,经立即执行的匿名函数表达式执行后初始化了括号里面那个函数的活动对象AO和作用域链同时确定了this对象,增加了内部变量a=3,返回了一个函数引用。全局变量func指向返回的这个函数的引用(这就是闭包)。第一次执行func(),func指向的内存堆中某个函数对象,经过执行a++,在本函数的作用域中的AO中寻找a变量未果沿着作用域链查找外层作用域的AO,找到a=3,执行a++后a=4,alert(4)。再执行func(),还是执行的是内存堆中的那个函数对象,又一次初始化内存堆中的这个函数的作用域链和AO等,寻找a未果沿着作用域链找外层AO找到a=4,执行a++后a=5,alert(5),完毕!
不常见的技术问题