这是一位面试腾讯同学整理的前端面试题,现在整理上来供大家参考。
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)
他给了一个错误的代码,就是老师给的案例上的那个,问最后弹出来是几?为什么?
如果是你你会怎么做?(这个题我做对了,用闭包做的,后来他问我还有没有其他的办法,老师在教材上列举了两个)
