JavaScript中如何实现自定义bind方法及其原理剖析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2435个文字,预计阅读时间需要10分钟。
定义 `bind()` 方法创建一个新的函数,当 `bind()` 被调用时,这个新函数的 `this` 被指定为 `bind()` 的第一个参数,其余参数作为新函数的参数传递。
定义bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。
由定义可知,函数调用bind()方法的时候,会返回一个新函数,并且this指向bind函数的第一个参数,简单来表示。
fn.bind(obj对象)执行 返回一个函数,想调用的时候,fn.bind(obj)()这样来执行;
举个例子:
var name = '炒米粉';
var obj = {
name: '程序员米粉'
};
function fn() {
console.log(this.name);
}
var getFn = fn.bind(obj); // 返回一个函数命名getFn
getFn(); // this.name => '程序员米粉', this指向obj
fn(); // this.name => '炒米粉', this指向window
总结:
1、bind()执行,返回一个函数。
2、bind()接受多个参数。
本文共计2435个文字,预计阅读时间需要10分钟。
定义 `bind()` 方法创建一个新的函数,当 `bind()` 被调用时,这个新函数的 `this` 被指定为 `bind()` 的第一个参数,其余参数作为新函数的参数传递。
定义bind() 方法创建一个新的函数,在 bind() 被调用时,这个新函数的 this 被指定为 bind() 的第一个参数,而其余参数将作为新函数的参数,供调用时使用。
由定义可知,函数调用bind()方法的时候,会返回一个新函数,并且this指向bind函数的第一个参数,简单来表示。
fn.bind(obj对象)执行 返回一个函数,想调用的时候,fn.bind(obj)()这样来执行;
举个例子:
var name = '炒米粉';
var obj = {
name: '程序员米粉'
};
function fn() {
console.log(this.name);
}
var getFn = fn.bind(obj); // 返回一个函数命名getFn
getFn(); // this.name => '程序员米粉', this指向obj
fn(); // this.name => '炒米粉', this指向window
总结:
1、bind()执行,返回一个函数。
2、bind()接受多个参数。

