文思海辉前端面试题

作者:日期:2017-11-24 15:11:44 点击:326

 下面是一位同学整理的文思海辉前端面试题,整理上来供大家参考。

1.把一个字符串的各项反转顺序。

function strReverse(str) {
    var a = str.split('');
    var str1 = a.reverse().toString();
    return str1;
}
var str = '123456';
console.log(strReverse(str)); //输出结果是6,5,4,3,2,1
alert(typeof strReverse(str)); //输出结果是string

2.写一个时间转换例子。

function time(num) {
    var num = Math.floor(num / 60) + ':' + num % 60;
    return num;
}
console.log(time(63)) //输出结果是1:3 

3.介绍作用域和闭包并且写一个闭包程序。

function fn() {
    return function(i) {
        return i;
    }
}
alert(fn()(6)) //输出结果是6

4.比如有10个button,每点击一个button,弹出响应的索引号。

var oBtn = document.getElementsByTagName('input');
for (var i = 0; i < oBtn.length; i++) {
    oBtn.item(i).onclick = (function(i) {
        return function() {
            alert(i);
        }
    })(i);
}

5.给出一段程序,判断输出结果。

function fn(a) {
    return function(b) {
        return a + b;
    }
}
var x = fn(5);
var x = fn(4);
var y = fn(7);
console.log(x(1)); //输出结果是5
console.log(x(3)); //输出结果是7
console.log(y(1)); //输出结果是8

6.关于递归让写一个例子,还没答完,就问我别的题了。

7.关于继承问题老师给的面试题上面就有这样例子。

function SuperType(name) {
    this.name = name;
    this.teachers = ['耿老师', '林老师'];
}
SuperType.prototype.sayName = function() {
    alert(this.name);
}
function SubType(name, address) {
    SuperType.call(this, name);
    this.address = address;
}
//继承
SubType.prototype = new SuperType();
SubType.prototype.constructor = SubType;
SubType.prototype.sayAddress = function() {
    alert(this.address);
};

var instance1 = new SubType('珠峰培训', '西苑');
instance1.teachers.push('刘老师');
alert(instance1.teachers); //'耿老师','林老师','刘老师'
instance1.sayName(); //'珠峰培训'
instance1.sayAddress(); //'西苑'
var instance2 = new SubType('zhufengpeixun', '西苑');
alert(instance2.teachers); //'耿老师','林老师'
instance2.sayName(); //'zhufengpeixun'
instance2.sayAddress(); //'西苑'

8.css盒子模型在FF和IE中的区别。

9.描述下什么是MVC。

上一篇: 文思海辉前端面试题英文版本

下一篇: Ajax实例解析,异步机制以及优缺点