web前端面试题及答案

web前端面试题

1.overflow:hidden是否形成新的块级格式化上下文?

A:会形成
B:不会

答案:会。 分析: BFC:它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level
Box如何布局,并且与这个区域外部毫不相干。
那些元素会产生BFC:
1根元素
2float属性不为none
3position为absolute或fixed
4display为inline-block, table-cell,table-caption, flex, inline-flex
5overflow不为visible

2.当下列的HTML代码加载时会触发新的HTTP代码请求吗?

...
    
"display:none"> "mypic.jpg" alt="My photo">

3关于继承性下列说法正确的是?

A 元素中所有的属性都可以继承的
B font-size font-family color 属性是可以继承的
C margin border padding width height 是不可以继承的
D 以上说法都正确

CSS:表单元素不继承body的字体属性,所以排除DA,
margin border padding width height 是不可以继承的,这个是可以继承的,所以C错。
所以正确答案是B,(很勉强,但是要记得:CSS表单元素不继承body的字体属性)

4下面那些Hack只有IE6,IE7才能识别?

A selector{ +property:value; }
B selector{ _property:value; }
C selector{ *property:value; }
D *html selector{ +property:value;}

分析 答案是B
下划线hack(适用于IE6及其以下版本) _width: [BorderBox Model];
星号hack(适用于IE7以下版本) *width: [BorderBox Model];
星号 HTML hack(适用于IE4-6) * html p {font-size: 5em; }
星号加号HACK(适用于IE7)
虽然IE7不再识别以前的* html hack,但它使用了一个相似的新的hack。
*:first-child+html p { font-size: 5em; }
或者:
*+html p { font-size: 5em; }

5下面对BFC规范理解正确的是?

A BFC格式化上下文,一个创建了新的BFC的盒子是一个独立布局的,盒子里边的子元素的样式不会影响到外边元素的。
B 在同一个BFC中的两个毗邻的块级盒子在垂直方向(和布局方面方向有关系)的margin会发生折叠
C W3C css2.1规范中的一个概念,他决定了元素如何对其内容进行布局,以及与其他元素的关系和相互作用
D 以上说法都不对。

A正确 B正确 C正确 答案ABC
Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠

6javascript的typeof返回那些数据类型

1)number;
2)string;
3)boolean;
4)object
5)function;
6)undefined.

7简述null和undefined区别:

null不存在对象
undefined存在此对象,但没有初始化.

8简述在创建对象的过程中new操作符具体干了什么?

答案
    var obj  = {};
    obj.__proto__ = Base.prototype;
    Base.call(obj);

具体做了三件事:
第一行,创建了一个空对象
第二行,将obj__proto__(当然IE这个是没有的,这里好说事,所以这么说)指向Base.prototype
第三行,Base函数对象的this替换成obj,然后再调用Base函数。

8call和applay()方法区别

对于第一个参数意义都一样,但对第二个参数:
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)

你可能感兴趣的:(面试题)