


Explication détaillée de la façon de transmettre les paramètres de la fonction JavaScript
Cet article présente principalement la méthode de transmission des paramètres de fonction JavaScript, qui a une bonne valeur de référence. Jetons un coup d'œil avec l'éditeur.
JavaScript utilise une variable objet pour suivre la durée de vie de la variable. Les valeurs de type de base sont stockées directement dans l'objet variable ; tandis que les valeurs de type de référence sont stockées dans l'objet variable sous la forme d'un pointeur qui pointe vers l'emplacement de stockage de l'objet réel en mémoire.
Passer des valeurs de type de base
Lors du passage d'une valeur de type de base à un paramètre, la valeur transmise sera copiée dans une variable locale (c'est-à-dire un paramètre nommé ou des arguments un élément dans l'objet).
function addOne (num) { num++; return num; } var count = 1; var result = addOne(count); console.log(count); //1 console.log(result); //2
Dans l'exemple ci-dessus, la valeur de la variable count est transmise au paramètre de fonction num pour être utilisée dans la fonction À ce moment, bien que les valeurs du. La variable count et le paramètre num sont identiques, mais ce sont deux variables indépendantes. La modification de la valeur du paramètre num dans la fonction n'affectera pas la valeur de la variable count en dehors de la fonction.
Ainsi, les paramètres de valeur de type de base des fonctions en JavaScript sont transmis par valeur.
Transfert des valeurs de type référence
function setName (obj) { obj.name = 'Nicholas'; } var person = new Object(); setName(person); console.log(person.name); //'Nicholas'
Dans l'exemple ci-dessus, la valeur de la variable person est passée au paramètre obj de la fonction. , à l'intérieur de la fonction est Le paramètre obj ajoute un attribut de nom, et la modification par la fonction du paramètre obj fait que la variable personne en dehors de la fonction obtient également un attribut de nom. D'après les résultats, il semble que les paramètres de valeur de type référence des fonctions en JavaScript soient transmis par référence.
Cependant, ce n’est pas le cas. La valeur de la variable person est une valeur de type référence, donc sa valeur dans l'objet variable peut être considérée comme l'adresse (ou le pointeur) d'un objet réel en mémoire. Après passage du paramètre, la valeur du paramètre obj est également l'adresse de l'objet en mémoire. Ainsi, l'objet référencé par la valeur du paramètre obj dans la fonction est équivalent à l'objet référencé par la valeur de la variable d'exploitation personne.
function setName (obj) { obj.name = 'Nicholas'; obj = new Object(); obj.name = 'Greg'; return obj; } var person = new Object(); var result = setName(person); console.log(person.name); //'Nicholas' console.log(result.name); //'Greg'
Si le paramètre est passé par référence, dans l'exemple ci-dessus, la fonction change l'objet référencé par la valeur du paramètre obj, alors l'objet référencé par la valeur de la variable person correspondante changera également . Changer la façon dont la fonction est écrite peut être plus utile pour comprendre le passage des paramètres par valeur.
function setName () { var obj = arguments[0]; obj.name = 'Nicholas'; obj = new Object(); obj.name = 'Greg'; return obj; }
Bien que les valeurs de la variable personne et du paramètre obj soient la même adresse d'objet en mémoire, ce sont deux variables indépendantes. Si vous modifiez la valeur du paramètre obj dans la fonction pour qu'il pointe vers un autre objet en mémoire, la valeur de la variable person ne changera pas et pointera toujours vers l'objet d'origine.
Par conséquent, les paramètres de valeur de type référence des fonctions en JavaScript sont transmis par valeur.
Conclusion
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Méthodes de passage des paramètres de fonction et sécurité des threads : Passage de valeur : créez une copie du paramètre sans affecter la valeur d'origine, qui est généralement thread-safe. Passer par référence : transmission de l'adresse, permettant la modification de la valeur d'origine, généralement non thread-safe. Passage de pointeur : le passage d'un pointeur vers une adresse est similaire au passage par référence et n'est généralement pas thread-safe. Dans les programmes multithread, le passage de références et de pointeurs doit être utilisé avec prudence, et des mesures doivent être prises pour éviter les courses de données.

Passage de paramètres indéfinis C++ : implémenté via l'opérateur..., qui accepte un certain nombre de paramètres supplémentaires. Les avantages incluent la flexibilité, l'évolutivité et le code simplifié. Les inconvénients incluent la surcharge de performances, les difficultés de débogage et la sécurité des types. Des exemples pratiques courants incluent printf() et std::cout, qui utilisent va_list pour gérer un nombre variable de paramètres.

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

Il existe deux manières de transmettre des paramètres de fonction en C++ : l'appel par valeur (qui n'affecte pas les paramètres réels) et l'appel par référence (qui affecte les paramètres réels). Les paramètres sortants sont transmis par référence ou par pointeur, et la fonction peut transmettre la valeur à l'appelant en modifiant la variable pointée par la référence de paramètre ou le pointeur. Attention lors de l'utilisation : les paramètres sortants doivent être clairement déclarés, ne peuvent correspondre qu'à un seul paramètre réel et ne peuvent pas pointer vers des variables locales au sein de la fonction. Lors d'un appel en passant un pointeur, veillez à éviter les pointeurs sauvages.

Les types de paramètres de fonction PHP incluent les types scalaires (entiers, nombres à virgule flottante, chaînes, valeurs booléennes, valeurs nulles), les types composites (tableaux, objets) et les types spéciaux (fonctions de rappel, paramètres variables). Les fonctions peuvent convertir automatiquement des paramètres de différents types, mais elles peuvent également forcer des types spécifiques via des déclarations de type pour éviter les conversions accidentelles et garantir l'exactitude des paramètres.
