Método JavaScript Bind

Método JavaScript Bind
Em um programa JavaScript, quando você utiliza “esse”Palavra -chave com um método e invoca -o de um objeto receptor, às vezes“esse”Não é limitado ao objeto necessário e, portanto, resulta em erros. Você pode usar o método javascript bind () para evitar esse problema.

O Método JavaScript Bind () é usado para vincular funções. Usando este método, você pode vincular um objeto a uma função comum para mostrar resultados diferentes de acordo com o seu requisito. Você também pode utilizar o método bind () para emprestar funções de outro objeto.

Este artigo explicará o método javascript bind () e exemplos relacionados a empréstimo de função e ligação da função também será demonstrado. Então vamos começar!

Método JavaScript Bind ()

O método javascript bind () salva o contexto dos parâmetros atuais e “esse”Para execução futura. Geralmente mantém o contexto de execução de uma função que é executado em um contexto diferente.

No caso de ligação da função, o método bind () cria um nova função tendo a cópia exata do corpo da função original. O valor de "esse”A palavra -chave é passada como o primeiro parâmetro no método bind () e também pode receber argumentos adicionais para ligação. Considerando que, em empréstimo de função, o método javascript bind () empréstimo o função de outro objeto sem fazer sua cópia.

Sintaxe do método JavaScript Bind ()

Dê uma olhada na sintaxe do método javascript bind ():

função.bind (thisarg, [arg1], [arg2],…);

Aqui o "thisarg"Representa"essePalavra -chave e “[Arg1], [arg2],… ”São os argumentos adicionais. O método JavaScript Bind () dado retornará uma nova função quando for invocada e também definida “esse”Para o valor especificado.

Exemplo 1: Usando o método javascript bind () para ligação de função única
Primeiro de tudo, criaremos um programa simples que compreenda um “funcionário”Objeto. O "funcionário"Objeto tem um"nome”Propriedade e uma“showinfo ()”Método:

Deixe funcionário =
Nome: 'Jack Smith',
showInfo: function ()
console.log (isso.nome);

;

O "esse”Palavra -chave adicionada no“showinfo ()”Método vai ligar o“nome”Variável para a função, portanto, acessando“Jack Smith”Como nome de funcionário não é um problema. Este processo é conhecido como ligação padrão no JavaScript:

funcionário.showInfo ();

A execução do programa acima do dado mostra a seguinte saída:

Agora, criaremos uma nova função variável, “Showinfo2"Que se refere ao"showinfo ()”Função do objeto do funcionário. Nesse caso, a ligação padrão será perdida e o programa não mostrará nenhuma saída:

var showInfo2 = funcionário.showinfo;
showInfo2 ();

Então, quando o retorno de chamada “funcionário.Showinfo"É chamado, o"nome”A propriedade não existe no objeto global e está definido como“indefinido”Conforme mostrado na saída:

Você pode utilizar o método javascript bind () para garantir que qualquer ligação relacionada a “esse”A palavra -chave não está perdida. O método bind () define "este" contexto para o objeto especificado:

Deixe funcionário =
Nome: 'Jack Smith',
showInfo: function ()
console.log (isso.nome);

;

Aqui, o método javascript bind () cria uma nova função com “esse”Palavra -chave referindo -se ao parâmetro nos parênteses. Também nos permite invocar o “showinfo ()”Função ao passar o“funcionário“Objeto como um argumento:

var showInfo2 = funcionário.Showinfo.vincular (funcionário);
showInfo2 ();

O método showInfo2 () exibirá o atribuído “nome" de "funcionário”Objeto:

Exemplo 2: Usando o método javascript bind () para múltiplas funções de ligação
No exemplo a seguir, criaremos três objetos: “funcionário1","funcionário2", e "funcionário3”:

Seja funcionário1 =
Nome: 'Jack';
Deixe funcionário2 =
Nome: 'max';
Deixe funcionário3 =
Nome: 'Paul';
função showInfo ()
console.log (isso.nome);

Para cada um dos objeto acima, invocaremos o “showinfo ()”Método utilizando o JavaScript“vincular()”Método:

var showInfo2 = showInfo.bind (funcionário1);
showInfo2 ();
var showInfo3 = showInfo.bind (funcionário2);
showInfo3 ();
var showInfo4 = showInfo.bind (funcionário3);
showInfo4 ();

A saída exibirá os valores da propriedade Nome do “funcionário1","funcionário2", e "funcionário3“Objetos:

Exemplo 3: Usando o método javascript bind () para empréstimos de função
Com a ajuda do método javascript bind (), um objeto pode emprestar uma função de outro objeto adicionado. Para a demonstração, criaremos dois objetos “carro" e "avião" tendo "nome" propriedade, "correr()" e "voar()”Métodos respectivamente:

Deixe o carro =
Nome: 'Car',
Run: function (speed)
console.log (isso.Nome + 'está se movendo em' + velocidade + 'mph.');

;
Deixe o avião =
Nome: 'Avião',
Fly: function (velocidade)
console.log (isso.Nome + 'está voando em' + velocidade + 'mph.');

;

Agora, se você quiser o “avião”Objeto de correr, Em seguida, utilize o método javascript bind () para criar uma função run () com o “esse”Palavra -chave, que a define como“avião”Objeto:

Deixe Run = Carro.correr.Bind (avião, 20);
correr();

Nós chamamos o bind () com o carro.RUN () Método e aprovado “avião" como "nome”Valor da propriedade e sua velocidade como“20”:

A saída acima mencionada significa que, usando o método javascript bind (), emprestamos com sucesso o correr() Método do carro objeto, sem fazer sua cópia.

Conclusão

O JavaScript Bind () O método salva o contexto dos parâmetros atuais e “esse”Para execução futura. Geralmente mantém o contexto de execução de uma função que é executado em um contexto diferente. Pode ser utilizado para ligação e empréstimos de função de função. Este artigo explicou o método JavaScript Bind (), e exemplos relacionados ao empréstimo e ligação à função também são demonstrados.