记录最近的一些遇到的前端面试题

HTML部分:
1.问:DOCTYPE是什么。
答:查看w3school的详细解释http://www.w3school.com.cn/ta...:DTD, SGML)php

2.问:有哪些行内元素、有哪些块级元素。margin属性是否对行内元素有所做用。
答:块级元素经常使用的有:<div><p><h1><ul>等; 行内元素: <a><i><span><input><select><button>等。行内元素左右margin可用,上下margin会让整行移动。html

3.问:HTML5中INPUT的新类型。
答:color, date, email, number, range, search, tel, url。ajax

4.问:disabled与readonly的区别。
答:readonly只针对input(text / password)和textarea有效,而disabled对于全部的表单元素都有效,包括select, radio, checkbox, button等。表单元素在使用了disabled后,当咱们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去。详细解释:http://www.nowamagic.net/html...算法


CSS部分:
1.问:CSS有哪些伪类、伪元素。
答:伪类(:) -> link, visited, hover, active(按照这个顺序), first-child, nth-child(x), lang;
伪元素(::) -> first-letter, first-line, after, before。segmentfault

2.问:如何深度解释盒模型。url


JS部分:
1.问:JavaScript的数据类型有哪些。
答:JavaScript中的变量分为两种,原始值和引用值。原始值指的是原始数据类型的值,好比undefined, null, number, string, boolean类型所表示的值。引用值指的是复合数据类型的值,即Object,Function,Array等。原文连接在此https://segmentfault.com/a/11...spa

2.问:有关JS的事件流模型。
答:“DOM事件流”:三个阶段:事件捕捉,目标阶段,事件冒泡。
“事件冒泡”:事件开始由最具体的元素接受,而后逐级向上传播
“事件捕捉”:事件由最不具体的节点先接收,而后逐级向下,一直到最具体的.net


jQuery部分:
1.问:jQuery的事件绑定方式bind, live, delegate, on。
答:用.bind()的代价是很是大的,它会把相同的一个事件处理程序hook到全部匹配的DOM元素上;不要再用.live()了,它已经再也不被推荐了,并且还有许多问题;.delegate()会提供很好的方法来提升效率,同时咱们能够添加一事件处理方法到动态添加的元素上;咱们能够用.on()来代替上述的3种方法。详细解释见http://blog.csdn.net/panfang/...code

2.问:如何终止ajax请求。
答:XMLHttpRequest对象的abort方法。htm


JS算法题汇总:

var a;
alert(typeof a); 
alert(b);
var undefined;
undefined == null; 
1 == true;   
2 == true;   
0 == false;  
0 == '';     
NaN == NaN;  
[] == false; 
[] == ![];
var foo = "11"+2-"1";
console.log(foo);
console.log(typeof foo);
var a = new Object();
a.value = 1;
b = a;
b.value = 2;
alert(a.value);
var foo = 1;
function(){
    console.log(foo);
    var foo = 2;
    console.log(foo);
}
for(var i=1;i<=3;i++){
  setTimeout(function(){
      console.log(i);    
  },0);  
};
相关文章
相关标签/搜索