Le code JavaScript lui-même doit être contenu dans un objet. Par exemple, lors de la création de code JavaScript pour un environnement de navigateur Web, JavaScript est contenu et exécuté dans le la fenêtre
objet. Ce la fenêtre
objet est considéré comme "l'objet principal", ou parfois appelé "objet global", ce qui prête à confusion. Toutes les implémentations de JavaScript nécessitent l'utilisation d'un seul objet principal..
JavaScript est mis en place par JavaScript en tâche de fond pour encapsuler le code défini par l'utilisateur et héberger le code natif avec lequel JavaScript est livré pré-emballé. Le code défini par l'utilisateur est placé par JavaScript dans l'objet head pour son exécution. Vérifions cela en ce qui concerne un navigateur Web.
Dans l'exemple suivant, je crée des valeurs JavaScript et vérifie qu'elles sont placées dans l'en-tête. la fenêtre
objet.
Exemple: sample64.html
Vous devez toujours savoir que lorsque vous écrivez du JavaScript, celui-ci sera écrit dans le contexte de l'objet head. La matière restante de ce chapitre suppose que vous sachiez que le terme "objet principal" est synonyme de "objet global".
L'objet principal est la portée / le contexte le plus élevé disponible dans un environnement JavaScript..
JavaScript est livré avec certaines fonctions prédéfinies. Les fonctions natives suivantes sont considérées comme des méthodes de l’objet head (comme dans un navigateur Web)., window.parseInt ('500')
). Vous pouvez les considérer comme des fonctions et des méthodes prêtes à l’emploi (de l’objet head) fournies par JavaScript..
decodeURI ()
decodeURIComponent ()
encodeURI ()
encodeURIComponent ()
eval ()
isFinite ()
isNaN ()
parseFloat ()
parseInt ()
Ne confondez pas l'objet head avec les propriétés globales ou les variables globales contenues dans la portée globale. L'objet principal est un objet qui contient tous les objets. Le terme "propriétés globales" ou "variables globales" est utilisé pour faire référence à des valeurs directement contenues dans l'objet head et ne sont pas spécifiquement étendues à d'autres objets. Ces valeurs sont considérées comme globales car peu importe où le code est en cours d'exécution, tout le code a accès (via la chaîne de scope) à ces propriétés et variables globales..
Dans l'exemple suivant, je place un foo
propriété dans la portée globale, puis accéder à cette propriété à partir d'une portée différente.
Échantillon: sample65.html
Si j'avais placé le foo
propriété hors du périmètre global, la console.log
la fonction reviendrait indéfini
. Ceci est démontré dans l'exemple de code suivant.
Échantillon: sample66.html
C’est pourquoi, dans l’environnement du navigateur, les méthodes de propriété globale (par exemple,, window.alert ()
) peut être appelé à partir de n’importe quelle portée. Ce que vous devez en déduire, c’est que tout élément de la portée globale est disponible pour n’importe quelle portée et donne donc le titre de "variable globale" ou "propriété globale"..
Il y a une légère différence entre utiliser var
et ne pas utiliser var
dans la portée globale (propriétés globales vs variables globales). Jetez un coup d'œil à cet échange de débordement de pile pour plus de détails: Différence entre utiliser var et ne pas utiliser var en JavaScript.
Il existe généralement deux manières de référencer l'objet head. La première consiste à référencer simplement le nom donné à l’objet head (comme dans un navigateur Web, ce serait la fenêtre
). La deuxième façon est d'utiliser le ce
mot clé dans la portée globale. Chacun de ceux-ci est détaillé dans l'exemple suivant.
Échantillon: sample67.html
Dans cet exemple, nous stockons explicitement une référence à l’objet head dans deux variables qui sont ensuite utilisées pour accéder au global. foo
variable.
Généralement, une référence à l'objet head n'est pas utilisée car elle est implicite. Par exemple, dans l'environnement du navigateur window.alert
et alerte()
sont essentiellement la même déclaration. JavaScript remplit les blancs ici. Parce que le la fenêtre
objet (l’objet tête) est le dernier objet vérifié dans la chaîne d’étendue pour une valeur, le la fenêtre
l'objet est essentiellement toujours impliqué. Dans l'exemple suivant, nous exploitons le alerte()
fonction qui est contenue dans la portée globale.
Échantillon: sample68.html
Assurez-vous de bien comprendre que l'objet head est impliqué même lorsque vous ne l'incluez pas explicitement, car l'objet head constitue le dernier arrêt de la chaîne d'étendue..
Être explicite (par exemple, window.alert ()
contre. alerte()
) coûte un peu plus cher en termes de performances (rapidité d'exécution du code). C'est plus rapide si vous utilisez uniquement la chaîne d'étendue et évitez de faire explicitement référence à l'objet head, même si vous savez que la propriété souhaitée est contenue dans l'étendue globale..