Maison  >  Article  >  interface Web  >  Une brève discussion sur bind() en JS

Une brève discussion sur bind() en JS

autoload
autoloadoriginal
2021-04-06 15:09:176269parcourir

Une brève discussion sur bind() en JS

bind() est une méthode intégrée de l'objet Function Leur premier paramètre est utilisé pour changer le pointeur de this dans la méthode appelante. A noter que bind renvoie une nouvelle fonction afin qu'elle puisse être appelée ultérieurement.

1. Syntaxe :

function.bind(thisArg[,arg1[,arg2[, ...]]])
  •  thisArg : transmis à la cible comme paramètre lors de l'appel de la liaison. fonction La valeur de la fonction. Si l'opérateur new est utilisé pour construire la fonction liée, cette valeur est ignorée. Lors de l'utilisation de  bind pour créer une fonction dans setTimeout (fournie sous forme de rappel), toute valeur primitive passée comme thisArg sera convertie en object. Si la liste d'arguments de la fonction bind est vide, ou si thisArg est un null ou un undefined, le this  de la portée d'exécution sera traité comme le thisArg de la nouvelle fonction.

  •  arg1, arg2, ... : Lorsque la fonction cible est appelée, les paramètres sont prédéfinis dans la liste des paramètres de la fonction liée.

  • Valeur de retour : renvoie une copie de la fonction d'origine avec la valeur this spécifiée et 初始参数.

2. Exemple :

<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>

3. Sortie

天才上单    
那就这样吧!
undefined

Recommandé : "Questions et réponses de l'entretien js 2021 (grand résumé) "

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn