JavaScript est un langage de programmation léger et interprété doté de capacités orientées objet qui vous permet de créer de l'interactivité dans des pages HTML autrement statiques.

Le noyau polyvalent du langage a été intégré dans Netscape, Internet Explorer et d'autres navigateurs Web.

Voici les fonctionnalités de JavaScript -

  • JavaScript est un langage de programmation léger et interprété.

  • JavaScript est conçu pour créer des applications centrées sur le réseau.

  • JavaScript est complémentaire et intégré à Java.

  • JavaScript est complémentaire et intégré au HTML.

  • JavaScript est ouvert et multiplateforme.

Voici les avantages de l'utilisation de JavaScript -

  • Less server interaction −Vous pouvez valider l'entrée utilisateur avant d'envoyer la page au serveur. Cela économise le trafic du serveur, ce qui signifie moins de charge sur votre serveur.

  • Immediate feedback to the visitors − Ils n'ont pas à attendre le rechargement d'une page pour voir s'ils ont oublié de saisir quelque chose.

  • Increased interactivity − Vous pouvez créer des interfaces qui réagissent lorsque l'utilisateur les survole avec une souris ou les active via le clavier.

  • Richer interfaces − Vous pouvez utiliser JavaScript pour inclure des éléments tels que des composants de glisser-déposer et des curseurs pour donner une interface riche aux visiteurs de votre site.

Nous ne pouvons pas traiter JavaScript comme un langage de programmation à part entière. Il manque les caractéristiques importantes suivantes -

  • Le JavaScript côté client ne permet pas la lecture ou l'écriture de fichiers. Cela a été conservé pour des raisons de sécurité.

  • JavaScript ne peut pas être utilisé pour les applications de mise en réseau car une telle prise en charge n'est pas disponible.

  • JavaScript n'a pas de capacités multithreading ou multiprocessus.

Oui! JavaScript est un langage sensible à la casse. Cela signifie que les mots-clés de langue, les variables, les noms de fonction et tout autre identificateur doivent toujours être saisis avec une majuscule cohérente des lettres.

JavaScript prend très bien en charge le concept Object. Vous pouvez créer un objet en utilisant le littéral objet comme suit -

var emp = {
   name: "Zara",
   age: 10
};

Vous pouvez écrire et lire les propriétés d'un objet en utilisant la notation par points comme suit -

// Getting object properties
emp.name  // ==> Zara
emp.age   // ==> 10
// Setting object properties
emp.name = "Daisy"  // <== Daisy
emp.age  =  20      // <== 20

Vous pouvez définir des tableaux en utilisant le littéral de tableau comme suit -

var x = [];
var y = [1, 2, 3, 4, 5];

Un tableau a une propriété de longueur qui est utile pour l'itération. Nous pouvons lire les éléments d'un tableau comme suit -

var x = [1, 2, 3, 4, 5];
for (var i = 0; i < x.length; i++) {
   // Do something with x[i]
}

Une fonction nommée a un nom lorsqu'elle est définie. Une fonction nommée peut être définie à l'aide du mot-clé de fonction comme suit -

function named(){
   // do some stuff here
}

Une fonction en JavaScript peut être nommée ou anonyme.

Une fonction anonyme peut être définie de la même manière qu'une fonction normale mais elle n'aurait pas de nom.

Oui! Une fonction anonyme peut être affectée à une variable.

Oui! Une fonction anonyme peut être transmise comme argument à une autre fonction.

Les arguments de variable JavaScript représentent les arguments passés à une fonction.

En utilisant l'opérateur typeof, nous pouvons obtenir le type d'arguments passés à une fonction. Par exemple -

function func(x){
   console.log(typeof x, arguments.length);
}
func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

En utilisant la propriété arguments.length, nous pouvons obtenir le nombre total d'arguments passés à une fonction. Par exemple -

function func(x){
   console.log(typeof x, arguments.length);
}
func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

L'objet arguments a une propriété callee, qui fait référence à la fonction dans laquelle vous êtes. Par exemple -

function func() {
   return arguments.callee; 
}
func();                // ==> func

JavaScript célèbre mot-clé qui fait toujours référence au contexte actuel.

La portée d'une variable est la région de votre programme dans laquelle elle est définie. La variable JavaScript n'aura que deux portées.

  • Global Variables − Une variable globale a une portée globale, ce qui signifie qu'elle est visible partout dans votre code JavaScript.

  • Local Variables −Une variable locale ne sera visible que dans une fonction où elle est définie. Les paramètres de fonction sont toujours locaux à cette fonction.

Une variable locale est prioritaire sur une variable globale du même nom.

Un rappel est une simple fonction JavaScript transmise à une méthode en tant qu'argument ou option. Certains rappels ne sont que des événements, appelés pour donner à l'utilisateur une chance de réagir lorsqu'un certain état est déclenché.

Les fermetures sont créées chaque fois qu'une variable définie en dehors de la portée actuelle est accessible depuis une certaine portée interne.

L'exemple suivant montre comment le compteur de variables est visible dans les fonctions de création, d'incrémentation et d'impression, mais pas en dehors d'elles -

function create() {
   var counter = 0;
   return {
      increment: function() {
         counter++;
      },
  
      print: function() {
         console.log(counter);
      }
   }
}
var c = create();
c.increment();
c.print();     // ==> 1

La méthode charAt () renvoie le caractère à l'index spécifié.

La méthode concat () renvoie le caractère à l'index spécifié.

La méthode forEach () appelle une fonction pour chaque élément du tableau.

La méthode indexOf () renvoie l'index dans l'objet String appelant de la première occurrence de la valeur spécifiée, ou −1 s'il n'est pas trouvé.

La méthode length () renvoie la longueur de la chaîne.

La méthode pop () supprime le dernier élément d'un tableau et renvoie cet élément.

La méthode push () ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau.

La méthode reverse () inverse l'ordre des éléments d'un tableau −− le premier devient le dernier et le dernier devient le premier.

La méthode sort () trie les éléments d'un tableau.

La méthode substr () renvoie les caractères d'une chaîne commençant à l'emplacement spécifié jusqu'au nombre de caractères spécifié.

La méthode toLowerCase () renvoie la valeur de la chaîne appelante convertie en minuscules.

La méthode toUpperCase () renvoie la valeur de la chaîne appelante convertie en majuscules.

toString () renvoie la représentation sous forme de chaîne de la valeur du nombre.

Lorsque vous nommez vos variables dans JavaScript, gardez à l'esprit les règles suivantes.

Vous ne devez utiliser aucun des mots clés réservés JavaScript comme nom de variable. Ces mots-clés sont mentionnés dans la section suivante. Par exemple, les noms de variable break ou booléenne ne sont pas valides.

Les noms de variables JavaScript ne doivent pas commencer par un chiffre (0-9). Ils doivent commencer par une lettre ou le caractère de soulignement. Par exemple, 123test est un nom de variable non valide mais _123test est un nom valide.

Les noms de variables JavaScript sont sensibles à la casse. Par exemple, le nom et le nom sont deux variables différentes.

Le typeof est un opérateur unaire qui est placé avant son unique opérande, qui peut être de n'importe quel type. Sa valeur est une chaîne indiquant le type de données de l'opérande.

L'opérateur typeof évalue à «nombre», «chaîne» ou «booléen» si son opérande est un nombre, une chaîne ou une valeur booléenne et renvoie vrai ou faux en fonction de l'évaluation.

Il renvoie "objet".

JavaScript peut également manipuler les cookies à l'aide de la propriété cookie de l'objet Document. JavaScript peut lire, créer, modifier et supprimer le ou les cookies qui s'appliquent à la page Web actuelle.

Le moyen le plus simple de créer un cookie est d'attribuer une valeur de chaîne à l'objet document.cookie, qui ressemble à ceci -

Syntaxe -

document.cookie = "key1 = value1; key2 = value2; expires = date";

Ici expire l'attribut est une option. Si vous fournissez à cet attribut une date ou une heure valide, le cookie expirera à la date ou à l'heure donnée et après cela, la valeur des cookies ne sera plus accessible.

La lecture d'un cookie est aussi simple que l'écriture d'un cookie, car la valeur de l'objet document.cookie est le cookie. Vous pouvez donc utiliser cette chaîne chaque fois que vous souhaitez accéder au cookie.

La chaîne document.cookie conservera une liste de paires nom = valeur séparées par des points-virgules, où nom est le nom d'un cookie et valeur est sa valeur de chaîne.

Vous pouvez utiliser la fonction split () des chaînes pour diviser la chaîne en clé et en valeurs.

Parfois, vous souhaiterez supprimer un cookie afin que les tentatives ultérieures de lecture du cookie ne renvoient rien. Pour ce faire, il vous suffit de définir la date d'expiration sur une heure du passé.

Il est très simple de faire une redirection de page en utilisant JavaScript côté client. Pour rediriger les visiteurs de votre site vers une nouvelle page, il vous suffit d'ajouter une ligne dans votre section de tête comme suit -

<head>
<script type="text/javascript">
<!--
   window.location="http://www.newlocation.com";
//-->
</script>
</head>

JavaScript vous aide à implémenter cette fonctionnalité en utilisant la fonction d'impression de l'objet fenêtre. La fonction d'impression JavaScript window.print () imprimera la page Web actuelle lorsqu'elle sera exécutée.

L'objet Date est un type de données intégré au langage JavaScript. Les objets Date sont créés avec la nouvelle Date ().

Une fois qu'un objet Date est créé, un certain nombre de méthodes vous permettent de l'utiliser. La plupart des méthodes vous permettent simplement d'obtenir et de définir les champs année, mois, jour, heure, minute, seconde et milliseconde de l'objet, en utilisant l'heure locale ou l'heure UTC (universelle ou GMT).

L'objet Number représente une date numérique, soit des nombres entiers, soit des nombres à virgule flottante. En général, vous n'avez pas à vous soucier des objets numériques, car le navigateur convertit automatiquement les littéraux numériques en instances de la classe numérique.

Syntaxe -

Créer un objet numérique -

var val = new Number(number);

Si l'argument ne peut pas être converti en nombre, il renvoie NaN (Not-a-Number).

Les dernières versions de JavaScript ont ajouté des capacités de gestion des exceptions. JavaScript implémente la construction try ... catch ... finally ainsi que l'opérateur throw pour gérer les exceptions.

Vous pouvez détecter les exceptions générées par le programmeur et d'exécution, mais vous ne pouvez pas détecter les erreurs de syntaxe JavaScript.

Le gestionnaire d'événements onerror a été la première fonctionnalité à faciliter la gestion des erreurs pour JavaScript. L'événement d'erreur est déclenché sur l'objet fenêtre chaque fois qu'une exception se produit sur la page.

Le gestionnaire d'événements onerror fournit trois informations pour identifier la nature exacte de l'erreur -

  • Error message − Le même message que le navigateur afficherait pour l'erreur donnée.

  • URL − Le fichier dans lequel l'erreur s'est produite.

  • Line number − Le numéro de ligne dans l'URL donnée qui a provoqué l'erreur.