`

前端面试题

阅读更多


1.window.onload和$(document).ready()的区别
①执行时机;前者是在网页所有元素完全加载到浏览器后才执行,后者是DOM加载完就可以执行;
②多次使用;前者一次只能保存对一个函数的引用

2.事件绑定和普通事件的区别
普通添加事件的方法:

var btn = document.getElementById("hello");
btn.onclick = function(){
alert(1);
}
btn.onclick = function(){
alert(2);
}
执行上面的代码只会alert 2

事件绑定方式添加事件:

var btn = document.getElementById("hello");
btn.addEventListener("click",function(){
alert(1);
},false);
btn.addEventListener("click",function(){
alert(2);
},false);
执行上面的代码会先alert 1 再 alert 2

普通添加事件的方法不支持添加多个事件,最下面的事件会覆盖上面的,而事件绑定(addEventListener)方式添加事件可以添加多个。

3.js事件处理三个阶段
js事件的三个阶段分别为:捕获、目标、冒泡
1.捕获:事件由页面元素接收,逐级向下,到具体的元素
2.目标:具体的元素本身
3.冒泡:跟捕获相反,具体元素本身,逐级向上,到页面元素
IE5.5:div---body---document
IE6.0:   div---body---html---document
Mozilla:div---body---html---document---window

事件捕获:当使用事件捕获时,父级元素先触发,子元素后触发
事件冒泡:当使用事件冒泡时,子级元素先触发,父元素后触发
W3C :   任何事件发生时,先从顶层开始进行事件捕获,直到事件触发到达事件源,再从事件源向上进行事件捕获

4.bind(),delegate(),on()区别和使用场景
delegate()和on()都是通过事件代理机制
①.选择器匹配到的元素比较多时,不要用bind()迭代绑定

②.用id选择器时,可以用bind()

③.需要给动态添加的元素绑定时,用delegate()或者on()

④.用delegate()和on()方法,dom树不要太深

⑤.尽量使用on()

5.常见http状态码
成功的状态码:  
200 – 服务器成功返回网页  
304 – 未修改  
失败的状态码:  
404 – 请求的网页不存在  
503 – 服务器暂时不可用  
500 – 服务器内部错误

6.jquery ajax中get和post请求的区别
①get会将参数跟在url后进行传递,post是作为http消息的实体内容发送,这种区别对用户是不可见的
②get对传输数据的大小又限制(通常不大于2KB),post理论上无限制
③get请求的数据会被浏览器缓存起来,不安全,post不会


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics