SOURCE

Function.prototype.bind = function(context) {
  context = context || window;
  
  let that = this;
  
  let args = Array.prototype.slice.call(arguments, 1);
  
  let fn = function() {
    let fnArgs = Array.prototype.slice.call(arguments);
    return that.apply(this instanceof that ? this : context, args.concat(fnArgs));
  };
  
  fn.prototype = Object.create(this.prototype);

  return fn;
}
console 命令行工具 X clear

                    
>
console