JavaScript |函数绑定
在 JavaScript 中,函数绑定使用Bind()方法进行。使用这种方法,我们可以将一个对象绑定到一个通用函数,以便该函数在需要时给出不同的结果。否则它会在代码执行时给出相同的结果或给出错误。
我们使用Bind()方法调用带有this值的函数, this关键字指的是当前选中的同一个对象。换句话说, bind()方法允许我们在调用函数或方法时轻松设置this关键字将绑定哪个对象。
通常需要绑定,当我们在方法中使用this关键字并从接收者对象调用该方法时,有时this未绑定到我们期望绑定的对象。这会导致我们的程序出错。
现在,一个简单的程序来打印在调用函数printFunc()时由this关键字调用的名称。
输出:
ABC
这里访问名称“ABC”是没有问题的, this关键字将名称变量绑定到函数。它被称为默认绑定。这个关键字是指极客对象。
现在看下面的代码,
输出:
//no output is produced by this code//
这里我们创建了一个新的变量函数printFunc2 ,它引用了对象geeks的函数printFunc() 。这里this的绑定丢失了,所以没有输出。
为了确保不会丢失this的任何绑定,我们使用Bind()方法。
通过使用bind()方法,我们可以将this的上下文设置为特定对象。所以我们也可以使用其他变量来调用绑定函数。
在前面的例子中使用bind()方法:
输出:
ABC
bind()方法创建了一个新函数,其中this关键字引用了上述情况geeks中括号中的参数。这样, bind()方法可以调用具有指定this值的函数。
示例 4:
在这个例子中,有 3 个对象,每次我们使用bind()方法调用每个对象。
输出:
ABC contributes about C++
CDE contributes about JAVA
IJK contributes about C#