10小时掌握前端面试题

1、call 、apply 、bind 的区别是什么?哪个性能更好一些?

性能测试:

1
2
3
console.time('A');
执行代码
console.timeEnd('A');

浏览器自带性能测试

2、实现(5).add(3).minus(2) ,使其输出结果为:6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(function() {
// 每一个方法执行完,都要返回 Number 这个类的实例,这样才可以继续调取 Number 类原型中的方法(链式写法)
function checkNumber(n) {
n = Number(n);
return isNaN(n) ? 0 : n;
}
function add(n) {
n = checkNumber(n);
return this + n;
}
function minus(n) {
n = checkNumber(n);
return this - n;
}
["add", "minus"].forEach(item => {
Number.prototype[item] = eval(item);
});
})();

以上是我对下列视频及文章的归纳和总结。
10 小时掌握前端面试题

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.