Voici une fonction simple qui ne prend aucun argument :
function hello() { console.log('Hello there stranger, how are you?'); } hello();
Voici une fonction qui prend un argument :
function greet(person) { console.log(`Hi there ${person}.`); } greet('Megan');
Nous pouvons avoir plus d'un argument comme suit :
function greetFullName(fName, lName) { console.log(`Hi there ${fName} ${lName}.`); } greetFullName('Megan', 'Paffrath');
Les expressions de fonction ne sont qu'une autre façon d'écrire des fonctions. Ils fonctionnent toujours de la même manière que ci-dessus :
const square = function(x) { return x * x; }; square(2); // 4
Ces fonctions fonctionnent avec/sur d'autres fonctions, peut-être qu'elles :
Un exemple de fonction prenant une autre fonction comme argument est :
function callTwice(func) { func(); func(); } let laugh = function () { console.log('haha'); }; callTwice(laugh); // haha // haha function rollDie() { const roll = Math.floor(Math.random() * 6) + 1; console.log(roll); } callTwice(rollDie); // random number // random number
Un exemple de fonction renvoyant une fonction est :
function makeMysteryFunc() { const rand = Math.random(); if (rand > 0.5) { return function () { console.log('You win'); }; } else { return function () { alert('You have been infected by a computer virus'); while (true) { alert('Stop trying to close this window.'); } }; } } let returnedFunc = makeMysteryFunc(); returnedFunc();
Un autre exemple (plus utile) est :
function makeBetweenFunc(min, max) { return function (num) { return num >= min && num <= max; }; } const isBetween = makeBetweenFunc(100, 200); // isBetween(130); // true // isBetween(34); // false
Nous pouvons ajouter des fonctions comme propriétés sur les objets (c'est ce qu'on appelle des méthodes).
Ex :
const myMath = { PI: 3.14, square: function (num) { return num * num; }, // note the 2 diff ways of defining methods cube(num) { return num ** 3; }, };
'this' est principalement utilisé DANS les méthodes des objets. Il est utilisé pour référencer les propriétés de l'objet.
const person = { first: 'Abby', last: 'Smith', fullName() { return `${this.first} ${this.last}`; }, }; person.fullName(); // "Abby Smith" person.lastName = 'Elm'; person.fullName(); // "Abby Elm"
Notez qu'en dehors des objets, « this » fait référence à l'objet fenêtre de niveau supérieur. Pour voir ce que cela contient, entrez-le dans la console. Les fonctions générales sont également stockées dans cet objet :
// defined on its own (outside of an object) function howdy() { console.log('HOWDY'); } this.howdy(); // HOWDY
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!