这是一位面试腾讯同学整理的前端面试题,现在整理上来供大家参考。
1.下面程序执行后弹出什么样的结果?
function fn() { this.a = 0; this.b = function() { alert(this.a) } } fn.prototype = { b: function() { this.a = 20; alert(this.a); }, c: function() { this.a = 30; alert(this.a); } } var myfn = new fn(); myfn.b(); myfn.c(); //弹出结果是0,30;
2.下面程序运行后弹出几次,每一次都是什么?为什么?
var n = 0; function a() { var n = 10; function b() { n++; } b(); return b; } var c = a(); c(); alert(n); //弹出一次,结果是0
3.下面程序运行后会弹出什么样的结果?(这是个陷井)
var s='abc12345'; var num=parseInt(s); if(num==NaN){ alert('NaN'); }else if(typeof num=='number'){ alert('number'); }else if(num=='abc'){ alert('abc'); }else{ alert('str'); } //弹出结果是number //parseInt()函数可解析一个字符串,并返回一个整数。
4.cookie中的domain、path、expires、secure是什么意思,怎么用?
5.Js中的children和childNodes的区别
6.用Js实现div元素倒序排列
7.HTTP状态码500、404、400、304、302、301、200都表示什么意思
8.Document.all目前都有哪些浏览器兼容性问题
9.谈一谈Ajax的原理和处理机制(看你会不会ajax)
10.谈一下你所掌握的 跨域通信的方法
11.谈一下你对网页性能优化的方法
12.实现:轮播图有5张图片,最后一张出现后,再返回第一张的时候会出现瑕疵,请问你的解决办法
13.实现 页面上有五个按钮,点击没一个按钮弹出对应的序号(0,1,2,3,4)
他给了一个错误的代码,就是老师给的案例上的那个,问最后弹出来是几?为什么?
如果是你你会怎么做?(这个题我做对了,用闭包做的,后来他问我还有没有其他的办法,老师在教材上列举了两个)