笔试题整理(五)

百度外卖

1、用css和html实现一个三角形
详见css面试题(二)
2、用apply()模拟bind()函数
《javascript设计模式与开发实践》中第二章关于实现bind方法的代码。

Function.prototype.bind = function (obj) {
    var self = this;//保存调用的函数。
    return function(){
       return self.apply(obj,arguments);
    }
  };

《JavaScript权威指南》

function bind(f,o){
      return function(){
          return f.apply(o,arguments);
      };
}

在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。

call、apply、bind方法的共同点和区别:
apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;
apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文(函数的每次调用都会拥有一个特殊值——本次调用的上下文(context)——这就是this关键字的值。);
apply 、 call 、bind 三者都可以利用后续参数传参;
bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。所以,模拟bind返回的应该是个函数,而不是函数立即执行的结果。

3、点分带小数点的数字,三位一组。

4、找出字符串中出现频率最高的字母。

你可能感兴趣的:(笔试题整理(五))