c'est une discussion lambda avec le robot

  • Auteur de la discussion ZZZ
  • Date de début
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
QUESQU'Y MARCHE PAS AVEC MON CODE, ENCORE?

JavaScript:
class HTML {
    constructor() {
        this.Element = null;
    }
    create(type = '', style = '', innerHTML = '', placeholder = '') {
        this.Element = document.createElement(type);
        this.Element.style = style;
        this.Element.innerHTML = innerHTML;
        this.Element.placeholder = placeholder;
        return this.Element;
    }
    onHover(parameters) {
        this.Element.addEventListener("mouseover", function () {
            parameters;
        });
    }
}

var Element1 = new HTML;
Element1.onHover(function () { alert(''); });
document.body.appendChild(Element1.create('p', '', 'This is a text'));
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Le problème avec votre code est que la fonction `onHover()` n'appelle pas les actions que vous avez définies en paramètre.

Pour que cela fonctionne, vous devez modifier votre fonction `onHover()` pour qu'elle appelle la fonction de rappel (`callback`) que vous avez passée en paramètre. Voici une version corrigée de votre code :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
element1.onHover(function () {
alert('The mouse is over the element!');
});
document.body.appendChild(element1.create('p', '', 'This is a text'));
```

Notez que j'ai également apporté des modifications mineures au code pour utiliser des noms de variables en minuscules, ce qui est une convention de codage courante en JavaScript.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Le problème avec votre code est que la fonction `onHover()` n'appelle pas les actions que vous avez définies en paramètre.

Pour que cela fonctionne, vous devez modifier votre fonction `onHover()` pour qu'elle appelle la fonction de rappel (`callback`) que vous avez passée en paramètre. Voici une version corrigée de votre code :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
element1.onHover(function () {
alert('The mouse is over the element!');
});
document.body.appendChild(element1.create('p', '', 'This is a text'));
```

Notez que j'ai également apporté des modifications mineures au code pour utiliser des noms de variables en minuscules, ce qui est une convention de codage courante en JavaScript.
Me renvoie ça :

VM336:15 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
at HTML.onHover (<anonymous>:15:14)
at <anonymous>:20:10
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Me renvoie ça :

VM336:15 Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
at HTML.onHover (<anonymous>:15:14)
at <anonymous>:20:10
Le problème avec votre code est que vous appelez `onHover()` avant de créer l'élément auquel vous souhaitez associer l'événement de survol.

Pour corriger cela, vous pouvez inverser les deux instructions de manière à créer l'élément avant d'associer l'événement. Voici la version corrigée de votre code :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Ici, nous créons l'élément en premier lieu, l'ajoutons au corps du document, puis associons l'événement de survol avec `onHover()`.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Le problème avec votre code est que vous appelez `onHover()` avant de créer l'élément auquel vous souhaitez associer l'événement de survol.

Pour corriger cela, vous pouvez inverser les deux instructions de manière à créer l'élément avant d'associer l'événement. Voici la version corrigée de votre code :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Ici, nous créons l'élément en premier lieu, l'ajoutons au corps du document, puis associons l'événement de survol avec `onHover()`.
Tu me sauves ma journée 🥰
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Dans ce code :

JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});

peut-t'on réduire :

JavaScript:
const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!')
});

En 1 instruction ?
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Je suis ravi de pouvoir vous aider! N'hésitez pas à me poser d'autres questions si vous en avez besoin.
Dans ce code :

JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});

peut-t'on réduire :

JavaScript:
const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!')
});

En 1 instruction au lieu de 4 ?
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Dans ce code :

JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});

peut-t'on réduire :

JavaScript:
const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!')
});

En 1 instruction au lieu de 4 ?
Il n'est pas possible de réduire le code en une seule instruction tout en maintenant la même fonctionnalité, car chaque instruction réalise une action différente :

1. `const element1 = new HTML();` crée une nouvelle instance de la classe HTML.
2. `element1.create('p', '', 'This is a text')` crée un nouvel élément HTML (`<p>`) avec des propriétés spécifiques et attribue cette valeur à la propriété `element` de l'instance HTML.
3. `document.body.appendChild(...)` ajoute l'élément nouvellement créé au corps du document HTML.
4. `element1.onHover(...)` définit une fonction de rappel pour l'événement de survol sur l'élément HTML créé précédemment.

Bien que vous puissiez potentiellement combiner toutes ces instructions en une seule longue ligne de code, cela serait difficile à lire et à comprendre. Il est préférable de conserver chaque instruction comme une ligne de code distincte pour améliorer la lisibilité et la maintenabilité du code.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Il n'est pas possible de réduire le code en une seule instruction tout en maintenant la même fonctionnalité, car chaque instruction réalise une action différente :

1. `const element1 = new HTML();` crée une nouvelle instance de la classe HTML.
2. `element1.create('p', '', 'This is a text')` crée un nouvel élément HTML (`<p>`) avec des propriétés spécifiques et attribue cette valeur à la propriété `element` de l'instance HTML.
3. `document.body.appendChild(...)` ajoute l'élément nouvellement créé au corps du document HTML.
4. `element1.onHover(...)` définit une fonction de rappel pour l'événement de survol sur l'élément HTML créé précédemment.

Bien que vous puissiez potentiellement combiner toutes ces instructions en une seule longue ligne de code, cela serait difficile à lire et à comprendre. Il est préférable de conserver chaque instruction comme une ligne de code distincte pour améliorer la lisibilité et la maintenabilité du code.
Dans ce code :
JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!'); theHTMLObj.style.backgroundColor = "red";
});

Comment remplacer "theHTMLObj" par l'élément de la classe HTML ; this.element ?
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Dans ce code :
JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!'); theHTMLObj.style.backgroundColor = "red";
});

Comment remplacer "theHTMLObj" par l'élément de la classe HTML ; this.element ?
Pour accéder à l'élément HTML créé précédemment dans la méthode `onHover()`, vous pouvez utiliser `this.element`. Vous pouvez donc remplacer "theHTMLObj" par `this.element`, comme ceci:

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", function() {
callback();
this.style.backgroundColor = "red";
});
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Notez que dans la fonction de rappel `addEventListener()`, nous utilisons `this.style.backgroundColor` pour définir la couleur de fond de l'élément survolé. `this` fait référence à l'élément HTML qui déclenche l'événement.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Pour accéder à l'élément HTML créé précédemment dans la méthode `onHover()`, vous pouvez utiliser `this.element`. Vous pouvez donc remplacer "theHTMLObj" par `this.element`, comme ceci:

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", function() {
callback();
this.style.backgroundColor = "red";
});
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Notez que dans la fonction de rappel `addEventListener()`, nous utilisons `this.style.backgroundColor` pour définir la couleur de fond de l'élément survolé. `this` fait référence à l'élément HTML qui déclenche l'événement.
Oui, mais je veux définir "this.style.backgroundColor = "red";" dans la fonction :
JavaScript:
element1.onHover(function () {
alert('The mouse is over the element!');
this.style.backgroundColor = "red"; // Mais corrigé !
});
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Oui, mais je veux définir "this.style.backgroundColor = "red";" dans la fonction :
JavaScript:
element1.onHover(function () {
alert('The mouse is over the element!');
this.style.backgroundColor = "red"; // Mais corrigé !
});
Pour utiliser `this` pour accéder à l'élément HTML dans la fonction de rappel passée à `onHover()`, vous devez utiliser une fonction de rappel fléchée plutôt qu'une fonction de rappel normale.

Voici le code corrigé :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", () => {
callback();
this.element.style.backgroundColor = "red";
});
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Ici, nous utilisons une fonction de rappel fléchée (`() => {}`) pour remplacer la fonction de rappel normale (`function() {}`). Les fonctions de rappel fléchées ne créent pas de leur propre contexte `this`, ce qui signifie que `this` fait référence à l'instance de la classe HTML à laquelle la méthode `onHover()` est attachée.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Pour utiliser `this` pour accéder à l'élément HTML dans la fonction de rappel passée à `onHover()`, vous devez utiliser une fonction de rappel fléchée plutôt qu'une fonction de rappel normale.

Voici le code corrigé :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", () => {
callback();
this.element.style.backgroundColor = "red";
});
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');
});
```

Ici, nous utilisons une fonction de rappel fléchée (`() => {}`) pour remplacer la fonction de rappel normale (`function() {}`). Les fonctions de rappel fléchées ne créent pas de leur propre contexte `this`, ce qui signifie que `this` fait référence à l'instance de la classe HTML à laquelle la méthode `onHover()` est attachée.
Non. Dans ce code :

JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');

});

Je veux que le fait que l'élément HTML qui change de couleur au hover (avec le code "elementHTML.style.background = 'red';") soit défini à l'appel de la fonction
element1.onHover(
alert('The mouse is over the element!');
// Code pour que l'élément HTML change de couleur au hover
);
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Non. Dans ce code :

JavaScript:
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover(callback) {
this.element.addEventListener("mouseover", callback);
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover(function () {
alert('The mouse is over the element!');

});

Je veux que le fait que l'élément HTML qui change de couleur au hover (avec le code "elementHTML.style.background = 'red';") soit défini à l'appel de la fonction
element1.onHover(
alert('The mouse is over the element!');
// Code pour que l'élément HTML change de couleur au hover
);
Je vois, vous souhaitez définir le changement de couleur de fond de l'élément directement dans la méthode `onHover()`. Dans ce cas-là, vous pouvez remplacer la fonction de rappel par une méthode dans la classe HTML qui change la couleur de l'élément, comme ceci :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover() {
this.element.addEventListener("mouseover", this.changeBackgroundColor.bind(this));
}

changeBackgroundColor() {
this.element.style.backgroundColor = "red";
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover();
alert('The mouse is over the element!');
```

Ici, nous avons créé une nouvelle méthode `changeBackgroundColor()` qui est appelée par `onHover()` lors de la souris survolant l'élément. Nous avons également lié `this` au contexte de la classe HTML en utilisant `.bind(this)`.

Enfin, nous avons enlevé la fonction de rappel dans `onHover()` et appelé la méthode `onHover()` directement avec `element1` avant l'alerte de confirmation.

Cela va changer la couleur de fond de l'élément au survol de la souris.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Je vois, vous souhaitez définir le changement de couleur de fond de l'élément directement dans la méthode `onHover()`. Dans ce cas-là, vous pouvez remplacer la fonction de rappel par une méthode dans la classe HTML qui change la couleur de l'élément, comme ceci :

```
class HTML {
constructor() {
this.element = null;
}

create(type = '', style = '', innerHTML = '', placeholder = '') {
this.element = document.createElement(type);
this.element.style = style;
this.element.innerHTML = innerHTML;
this.element.placeholder = placeholder;
return this.element;
}

onHover() {
this.element.addEventListener("mouseover", this.changeBackgroundColor.bind(this));
}

changeBackgroundColor() {
this.element.style.backgroundColor = "red";
}
}

const element1 = new HTML();
document.body.appendChild(element1.create('p', '', 'This is a text'));
element1.onHover();
alert('The mouse is over the element!');
```

Ici, nous avons créé une nouvelle méthode `changeBackgroundColor()` qui est appelée par `onHover()` lors de la souris survolant l'élément. Nous avons également lié `this` au contexte de la classe HTML en utilisant `.bind(this)`.

Enfin, nous avons enlevé la fonction de rappel dans `onHover()` et appelé la méthode `onHover()` directement avec `element1` avant l'alerte de confirmation.

Cela va changer la couleur de fond de l'élément au survol de la souris.
Trouves-moi un nom de variable (anglais) JavaScript pour des objets html
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Trouves-moi un nom de variable (anglais) JavaScript pour des objets html
Une convention courante pour nommer des variables JavaScript représentant des éléments HTML est de les préfixer avec `elem` ou `html`, suivis du nom de l'élément en question. Par exemple:

- `elemDiv` pour un élément `div`
- `htmlForm` pour un élément `form`

Vous pouvez également utiliser des noms de variables plus spécifiques qui reflètent l'usage de l'élément HTML dans votre code. Par exemple:

- `headerElem` pour un élément `<header>` utilisé dans une page web
- `tableHtml` pour un élément `<table>` utilisé dans une page web

Dans l'ensemble, la cohérence et la clarté sont les plus importantes lors de la nomination des variables JavaScript.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Une convention courante pour nommer des variables JavaScript représentant des éléments HTML est de les préfixer avec `elem` ou `html`, suivis du nom de l'élément en question. Par exemple:

- `elemDiv` pour un élément `div`
- `htmlForm` pour un élément `form`

Vous pouvez également utiliser des noms de variables plus spécifiques qui reflètent l'usage de l'élément HTML dans votre code. Par exemple:

- `headerElem` pour un élément `<header>` utilisé dans une page web
- `tableHtml` pour un élément `<table>` utilisé dans une page web

Dans l'ensemble, la cohérence et la clarté sont les plus importantes lors de la nomination des variables JavaScript.
Dans ce CSS :

CSS:
cursor: url(images/my-cursor.png), auto;

Peut-t'on, à la place de "images/my-cursor.png", mettre un lien web ?
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Dans ce CSS :

CSS:
cursor: url(images/my-cursor.png), auto;

Peut-t'on, à la place de "images/my-cursor.png", mettre un lien web ?
Oui, il est possible d'utiliser une URL absolue ou relative pour spécifier le chemin d'une image de curseur personnalisée comme ceci :

```
cursor: url("https://example.com/images/my-cursor.png"), auto;

/* Ou en utilisant un chemin relatif par rapport à la feuille de style */
cursor: url("../images/my-cursor.png"), auto;
```

Cela spécifie l'URL de l'image de curseur personnalisée comme étant l'image de fond pour le curseur. Si l'URL est invalide ou renvoie une erreur, alors le curseur par défaut sera utilisé à la place ("auto").

Veuillez noter que l'utilisation d'une image de curseur personnalisée peut ne pas être prise en charge sur tous les navigateurs. Assurez-vous donc de tester votre code sur plusieurs navigateurs avant de le déployer en production.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Oui, il est possible d'utiliser une URL absolue ou relative pour spécifier le chemin d'une image de curseur personnalisée comme ceci :

```
cursor: url("https://example.com/images/my-cursor.png"), auto;

/* Ou en utilisant un chemin relatif par rapport à la feuille de style */
cursor: url("../images/my-cursor.png"), auto;
```

Cela spécifie l'URL de l'image de curseur personnalisée comme étant l'image de fond pour le curseur. Si l'URL est invalide ou renvoie une erreur, alors le curseur par défaut sera utilisé à la place ("auto").

Veuillez noter que l'utilisation d'une image de curseur personnalisée peut ne pas être prise en charge sur tous les navigateurs. Assurez-vous donc de tester votre code sur plusieurs navigateurs avant de le déployer en production.
Dans une fonction JS ;

JavaScript:
function f(arg1, arg2, arg3, arg4) {
    console.log(arg1);
    console.log(arg2);
    console.log(arg3);
    console.log(arg4);
};

f("1", "2", "", "4");

Est-il possible de définir les arguments "arg1, arg2 et arg4" sans définir "arg3" sans pour autant devoir définir "arg3" en tant que "" (en gros, comment ne pas le définir du tout !)
 
53secondes
Fofobot 53secondes.com
Messages
422
Fofocoins
150
Dans une fonction JS ;

JavaScript:
function f(arg1, arg2, arg3, arg4) {
    console.log(arg1);
    console.log(arg2);
    console.log(arg3);
    console.log(arg4);
};

f("1", "2", "", "4");

Est-il possible de définir les arguments "arg1, arg2 et arg4" sans définir "arg3" sans pour autant devoir définir "arg3" en tant que "" (en gros, comment ne pas le définir du tout !)
Oui, vous pouvez définir des arguments optionnels dans une fonction JS et leur affecter une valeur par défaut. Si aucun argument n'est fourni lorsque la fonction est appelée, la valeur par défaut sera utilisée.

Voici comment vous pouvez définir des arguments optionnels avec des valeurs par défaut :

```
function f(arg1, arg2, arg4, arg3 = "") {
console.log(arg1);
console.log(arg2);
console.log(arg3);
console.log(arg4);
};

f("1", "2", "4");
```

Dans cet exemple, `arg3` est défini comme un argument optionnel avec une valeur par défaut de `""`. Si `arg3` n'est pas fourni lors de l'appel de `f()`, alors la valeur par défaut `""` sera utilisée à la place.

L'ordre des arguments optionnels importe également. Les arguments optionnels avec des valeurs par défaut doivent être les derniers arguments de la liste des arguments de la fonction.
 
ZZZ
Passionné
Messages
1 400
Fofocoins
7 662
Personnalisation du groupe
Personnalisation pseudo
Oui, vous pouvez définir des arguments optionnels dans une fonction JS et leur affecter une valeur par défaut. Si aucun argument n'est fourni lorsque la fonction est appelée, la valeur par défaut sera utilisée.

Voici comment vous pouvez définir des arguments optionnels avec des valeurs par défaut :

```
function f(arg1, arg2, arg4, arg3 = "") {
console.log(arg1);
console.log(arg2);
console.log(arg3);
console.log(arg4);
};

f("1", "2", "4");
```

Dans cet exemple, `arg3` est défini comme un argument optionnel avec une valeur par défaut de `""`. Si `arg3` n'est pas fourni lors de l'appel de `f()`, alors la valeur par défaut `""` sera utilisée à la place.

L'ordre des arguments optionnels importe également. Les arguments optionnels avec des valeurs par défaut doivent être les derniers arguments de la liste des arguments de la fonction.
et si tous les arguments d'une fonction sont optionnels, comment ne décider d'en définir que 1 ou 2 ou 3 ?
 

🚫 Alerte AdBlock !

Vous avez activé le mode Ninja, et il cache toutes les pubs ! 😆 Un petit coup de pouce pour notre site serait super apprécié si vous pouvez le désactiver. 🙏

🦸‍♂️ J'ai Désactivé AdBlock !