Maison interface Web js tutoriel Explication détaillée de la façon de transmettre les paramètres de la fonction JavaScript

Explication détaillée de la façon de transmettre les paramètres de la fonction JavaScript

Mar 22, 2017 pm 02:54 PM

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
Copier après la connexion

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'
Copier après la connexion

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'
Copier après la connexion

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;
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

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

La relation entre les méthodes de passage des paramètres de fonction C++ et la sécurité des threads La relation entre les méthodes de passage des paramètres de fonction C++ et la sécurité des threads Apr 12, 2024 pm 12:09 PM

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.

Explication détaillée des paramètres de fonction C++ : méthodes d'implémentation, avantages et inconvénients du passage de paramètres indéfinis Explication détaillée des paramètres de fonction C++ : méthodes d'implémentation, avantages et inconvénients du passage de paramètres indéfinis Apr 28, 2024 am 09:48 AM

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 : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

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 simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

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

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

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

Explication détaillée des paramètres de la fonction C++ : essence et précautions du mécanisme sortant Explication détaillée des paramètres de la fonction C++ : essence et précautions du mécanisme sortant Apr 27, 2024 pm 12:00 PM

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.

Quels sont les types de paramètres de fonction PHP ? Quels sont les types de paramètres de fonction PHP ? Apr 10, 2024 pm 04:21 PM

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.

See all articles