首页 > 代码库 > Function.prototype.bind 简介

Function.prototype.bind 简介

bind可以解决两种问题:

1. 可以改变一个函数的 this 指向

2. 可以实现偏函数等高阶功能

本文暂且讨论第一个功能

 

USE CASE

var foo = {    x: 3}var bar = function(){    console.log(this.x);}bar(); // undefinedvar boundFunc = bar.bind(foo);boundFunc(); // 3

 

简易版实现方式

Function.prototype.bind = function (scope) {    var fn = this;    return function () {        return fn.apply(scope);    };}

 

 

参考链接:https://www.smashingmagazine.com/2014/01/understanding-javascript-function-prototype-bind/

Function.prototype.bind 简介