2015-04-01 22:05:05 +02:00
|
|
|
# .cadoles-slide-title[Fonctions (4/5)]
|
2015-03-26 17:36:34 +01:00
|
|
|
|
|
|
|
**Manipulation du contexte d'exécution et injection d'arguments**
|
|
|
|
|
|
|
|
```js
|
|
|
|
var showThisAndArgs = function() {
|
|
|
|
console.log(this, arguments);
|
|
|
|
};
|
|
|
|
|
|
|
|
showThisAndArgs(); // -> Window, []
|
|
|
|
|
2015-04-01 15:11:13 +02:00
|
|
|
// Lier une fonction à un contexte
|
2015-03-26 17:36:34 +01:00
|
|
|
var myContext = {};
|
|
|
|
var bound = showThisAndArgs.bind(myContext);
|
|
|
|
|
|
|
|
bound(); // -> myContext, []
|
|
|
|
|
2015-04-01 15:11:13 +02:00
|
|
|
// Invoquer une fonction en modifiant son contexte et/ou en injectant des arguments
|
2015-03-26 17:36:34 +01:00
|
|
|
|
|
|
|
showThisAndArgs.call(myContext, 'arg1', 'arg2'); // -> myContext, ['arg1', 'arg2']
|
|
|
|
showThisAndArgs.apply(myContext, ['arg1', 'arg2']); // -> myContext, ['arg1', 'arg2']
|
|
|
|
|
|
|
|
```
|