La différence entre js display binding call (), apply () et bind ()

Remarque: 

Dans le cas de call (), les paramètres doivent être passés un par un, donc lorsque nous ne passons qu'un paramètre de valeur ou aucun paramètre de valeur, veuillez utiliser call (). Si vous souhaitez transmettre plusieurs paramètres de valeur, utilisez apply (). 

getName.bind () n'appellera pas la fonction getName (). Il renvoie une nouvelle fonction newFn, que nous pouvons appeler comme newFn ().

 var getName = function(hobby1, hobby2) {
	  console.log(this.name + ' likes ' + hobby1 + ' , ' + hobby2);
  }
  var user = {
	name: 'Tapas',
	address: 'Bangalore'  
  };
 // call()方法
  var hobbies = ['Swimming', 'Blogging'];
  getName.call(user, hobbies[0], hobbies[1]);
 // apply()方法
  var hobbies = ['Swimming', 'Blogging'];
  getName.apply(user, hobbies);
 // apply()方法
  var hobbies = ['Swimming', 'Blogging'];
  var newFn = getName.bind(user, hobbies[0], hobbies[1]); 
   newFn();

 

Je suppose que tu aimes

Origine blog.csdn.net/baidu_39043816/article/details/108535890
conseillé
Classement