JavaScript中的Function.prototype.bind


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/05/17/JavaScript%E4%B8%AD%E7%9A%84Function-prototype-bind/

摘要

本文主要讲述了:

  1. 作用
  2. 备注

正文

作用

返回一个绑定了this和部分参数的新函数。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
var foo = {
name: 'foo',
};

function sayHello(time, guestName) {
console.log('Good ' + time + ', ' + guestName + "! I'm " + this.name + '.');
}

var inTheAfternoonFooSayHello = sayHello.bind(foo, 'afternoon');

// 输出:Good afternoon, bar! I'm foo.
inTheAfternoonFooSayHello('bar');

备注

prototype

Function.prototype.bind()创建的函数没有prototype属性。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var foo = {
name: 'foo',
};

function sayHello(time, guestName) {
console.log('Good ' + time + ', ' + guestName + "! I'm " + this.name + '.');
}

var inTheAfternoonFooSayHello = sayHello.bind(foo, 'afternoon');

console.log(sayHello.prototype);

// 输出:undefined
console.log(inTheAfternoonFooSayHello.prototype);

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/05/17/JavaScript%E4%B8%AD%E7%9A%84Function-prototype-bind/


本文对你有帮助?请支持我


支付宝
微信