Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über bind() in JS

Eine kurze Diskussion über bind() in JS

autoload
autoloadOriginal
2021-04-06 15:09:176270Durchsuche

Eine kurze Diskussion über bind() in JS

bind() ist eine integrierte Methode des Function-Objekts. Ihr erster Parameter wird verwendet, um dies in der aufrufenden Methode zu ändern . > zeigt auf. Es ist zu beachten, dass bind eine neue Funktion zurückgibt, damit diese später aufgerufen werden kann. bind()Function对象内建的方法,它们的第一个参数都是用来更改调用方法中this的指向。需要注意的是bind 是返回新的函数,以便稍后调用。

1.语法:

function.bind(thisArg[,arg1[,arg2[, ...]]])
  •     thisArg:调用绑定函数时作为 this 参数传递给目标函数的值。 如果使用new运算符构造绑定函数,则忽略该值。当使用 bind 在 setTimeout 中创建一个函数(作为回调提供)时,作为 thisArg 传递的任何原始值都将转换为 object。如果 bind 函数的参数列表为空,或者thisArgnullundefined,执行作用域的 this 将被视为新函数的 thisArg

  •     arg1, arg2, ...:当目标函数被调用时,被预置入绑定函数的参数列表中的参数。

  •     返回值:返回一个原函数的拷贝,并拥有指定的this值和初始参数

    1. Syntax:
<script>
        //这是一个函数
        function hello(name) {
            //this:执行上下文,程序的运行环境
            //this当前是window,全局
            this.name=name;
            console.log(this.name);
        }
        hello("天才上单");

        //bind()可以改变函数中的this指向

        //这是一个对象
        const obj={
            name :"天鹏下凡",
        };

        //bind()只绑定不执行
         let f1=hello.bind(obj,"那就这样吧!");
         console.log(f1());
 </script>
  • thisArg: als dieser Parameter übergeben, wenn die Bindungsfunktion aufgerufen wird Wert der Zielfunktion. Wenn der neue Operator zum Erstellen der gebundenen Funktion verwendet wird, wird dieser Wert ignoriert. Wenn Sie bind verwenden, um eine Funktion in setTimeout zu erstellen (bereitgestellt als Rückruf), wird jeder als thisArg übergebene primitive Wert in ein object konvertiert. Wenn die Argumentliste der Funktion bind leer ist oder wenn thisArg null oder undefiniert ist, gilt der Ausführungsbereich this wird als thisArg der neuen Funktion behandelt.

  • arg1, arg2, ...: Beim Aufruf der Zielfunktion werden die Parameter in der Parameterliste der gebundenen Funktion voreingestellt.

  • Rückgabewert: Gibt eine Kopie der Originalfunktion mit dem angegebenen this <p><span style="font-family:arial, x-locale-body, sans-serif"><span style="background-color: rgb(255, 255, 255);">Wertsumme Anfangsparameter</span></span></p>. 2. Beispiel: 2. Beispiel: 3. Ausgabe 2 )"

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über bind() in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn