Maison  >  Article  >  interface Web  >  Y a-t-il des pointeurs en javascript ?

Y a-t-il des pointeurs en javascript ?

WBOY
WBOYoriginal
2022-07-01 15:36:513268parcourir

Il n'y a pas de pointeurs en JavaScript, seulement des références ; le pointeur fait référence à l'adresse mémoire. Être capable d'utiliser le pointeur signifie que le programme peut directement exploiter la mémoire. Cependant, lorsque le script JavaScript est exécuté sur la page Web, ni l'un ni l'autre. le navigateur ni le système d'exploitation ne permettent à JavaScript d'exploiter la mémoire, il n'y a donc pas de notion de pointeurs dans les scripts JavaScript, la mémoire ne peut être allouée que par le navigateur.

Y a-t-il des pointeurs en javascript ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, JavaScript version 1.8.5, ordinateur Dell G3.

Y a-t-il des pointeurs en JavaScript ?

JS n'a pas de pointeurs, seulement des références.

Une base de jugement simple est la suivante : les pointeurs peuvent être utilisés avec ++, mais pas JS.

Les pointeurs sont en fait des adresses mémoire. Être capable de manipuler des pointeurs signifie que le programme peut exploiter directement la mémoire. Ceci est très dangereux pour les scripts js exécutés sur les pages Web. Ni le navigateur ni le système d'exploitation ne permettront que cela se produise, donc les scripts js. ne peut pas avoir le concept de pointeurs et ne peut référencer que la mémoire allouée par le navigateur. Quant à l'adresse physique de cette mémoire, elle est opaque au moins pour les programmeurs js.

L'exemple est le suivant :

let a = 888
let b = a
a = 999
console.log(a, b) // 999 888 对于『基本类型』的变量,a,b 相互是不影响的

Cependant, pour les variables de type composite, la variable stocke en fait un "pointeur". Lorsque d=c, elles pointent vers la même adresse mémoire, donc lorsque c change, d a a également changé : soit c = ['a', 'b', 'c']

let d = c
d === c // true 都指向同一个『指针』呢
c[0] = 'x'
console.log(d) // ["x", "b", "c"]
而这样let c = ['a', 'b', 'c']
let d = ['a', 'b', 'c'] // or 简写成 d = [...c]
d === c // false 变量 d 重新赋值了呢,所以和 c 就不是一伙的啦!
c[0] = 'x'
console.log(d) // ["a", "b", "c"]

Y a-t-il des pointeurs en javascript ?

Connaissances approfondies :

Le pointeur est un concept important et ses caractéristiques en langage C, qui est également le partie plus difficile de la maîtrise du langage C. Les pointeurs sont des adresses mémoire. Les variables de pointeur sont des variables utilisées pour stocker des adresses mémoire. Dans la même architecture de processeur, différents types de variables de pointeur occupent la même longueur d'unité de stockage, tandis que les variables qui stockent les données varient en fonction du type de données. l'espace occupé est également différent. Avec les pointeurs, vous pouvez non seulement opérer sur les données elles-mêmes, mais également sur l'adresse variable où les données sont stockées.

Le pointeur décrit l'emplacement des données en mémoire, marquant une entité occupant un espace de stockage et la valeur de distance relative depuis la position de départ de cet espace. Dans le langage C/C++, les pointeurs sont généralement considérés comme des variables de pointeur. Le contenu d'une variable de pointeur stocke la première adresse de l'objet vers lequel elle pointe. L'objet pointé peut être une variable (les variables de pointeur sont également des variables), des tableaux. , les fonctions, etc. occupent l'entité d'espace de stockage.

【Recommandations associées : tutoriel vidéo javascript, front-end web

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:
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