Uso de chamar, aplicar, ligar

Ouvi dizer que Erha não conhecia as semelhanças e diferenças entre ligar, aplicar e ligar. O paciente Golden Retriever começou a explicar (apenas os pontos-chave)
1. Ligar: Castanha:

var obj = {
    
     name: 'call' };
var Fn = function (name){
    
     return name+this.name }
console.log(Fn.call(obj,obj.name))  //callcall

O primeiro parâmetro: modificar este ponto na função. O
segundo parâmetro: passar o parâmetro na forma de uma string (vários parâmetros são separados por vírgulas)
2. aplicar: castanha

var arr = [1,2,3,4,5,1000000000];
var Fn = function(){
    
    
	for(let i in arguments){
    
    
		console.log(arguments[i])
	}
}
Fn.apply(arr,arr) //1,2,3,4,5,1000000000

O primeiro parâmetro: modifique este ponto na função. O
segundo parâmetro: passe o parâmetro na forma de uma string (o parâmetro está na forma de uma matriz, e o número é igual ao comprimento do parâmetro)
3. bing: castanha

var obj = {
    
     name: 'bind' };
var Fn = function (name){
    
     return name+this.name }
console.log(Fn.bind(obj,obj.name)())  //bindbind

O primeiro parâmetro: modifique este ponto na função. O
segundo parâmetro: passe o parâmetro na forma de uma string (vários parâmetros são separados por vírgulas)
e adicione um parêntese, porque o bind não é um parâmetro de auto-invocação, então ele precisa ser chamado manualmente

Acho que você gosta

Origin blog.csdn.net/DoLi_JIN/article/details/106019359
Recomendado
Clasificación