Maison  >  Article  >  interface Web  >  var est-il une nouvelle fonctionnalité d’es6 ?

var est-il une nouvelle fonctionnalité d’es6 ?

WBOY
WBOYoriginal
2022-08-18 16:46:49962parcourir

var n'est pas une nouvelle fonctionnalité d'es6 ; vous pouvez utiliser le mot-clé var pour déclarer une variable. La variable déclarée est à la fois une variable globale et une variable de niveau supérieur. Une valeur peut lui être attribuée ou non lors de l'initialisation. . Il peut être de n'importe quel type s'il est initialisé et affecté d'une valeur. S'il n'est affecté à aucune valeur, il s'agit de la valeur par défaut.

var est-il une nouvelle fonctionnalité d’es6 ?

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

var n'est pas une nouvelle fonctionnalité d'es6

Utilisez le mot-clé var pour déclarer une variable, et vous pouvez l'initialiser avec une valeur ou non. L'affectation d'initialisation peut être de n'importe quel type. Si vous n'attribuez pas de valeur, ce sera la valeur par défaut non définie. La déclaration var est générale. C'est la portée globale et est ajoutée en tant qu'attribut de window (sauf celles déclarées dans la fonction, qui sont une portée de fonction).

var

  • Les variables déclarées avec var sont à la fois des variables globales et des variables de niveau supérieur (l'objet de niveau supérieur dans l'environnement du navigateur fait référence à l'objet fenêtre et dans le nœud fait référence à l'objet global)

  • Variables utilisant var life Il existe des cas de promotion de variable

  • L'utilisation de var peut déclarer une variable plusieurs fois, et la variable déclarée plus tard écrasera la déclaration de variable précédente

  • Lorsque var est utilisé pour déclarer une variable dans une fonction , la variable est locale ; Si var n'est pas utilisé dans la fonction, le changement est global

Par rapport à let, let est une nouvelle fonctionnalité de es6

let

  • est une nouvelle commande de es6 pour L'utilisation de la déclaration de variables est similaire à var, mais les variables déclarées ne sont valides que dans le bloc de code où se trouve la commande let, et il n'y a pas de promotion de variable tant que la commande let existe dans la portée au niveau du bloc ; la zone n'est plus affectée par les influences externes

  • Avant d'utiliser let pour déclarer une variable, la variable n'est pas disponible, ce qui est souvent appelé la zone morte temporaire (let n'autorise pas les déclarations répétées dans la même portée, nous ne pouvons donc pas re -déclarez les paramètres à l'intérieur de la fonction)

  • var déclare les variables
<script>
/*
*1.使用var 声明变量,可以保存任意数据类型的值,
* Undefined、Null、Number、String、Symbol、Boolean、Object 7种类型
*2.在同一代码块位置:
* var userName; userName="marshal" 
* var userName="marshal"  是完全等价有效的
* var 可以以逗号分隔,定义多个变量,分号结束
* var userName,userAge,userAddress;
*/
var userName="marshal";//var userName;userName="marshal";
console.log(userName);
</script>

Utilisez les outils de développement pour afficher l'image suivante :

var scope descriptionvar est-il une nouvelle fonctionnalité d’es6 ?

scope : au moment de l'exécution, variables, objets, fonctions et d'autres ressources accessibles dans la zone de code Visibilité. JavaScript est divisé en deux types, global et local. Au même niveau que la balise Script, elle peut être comprise comme globale. Dans le navigateur, ceux-ci sont appelés objets windows, donc les variables globales et les fonctions définies à l'aide de var sont toutes des propriétés et méthodes de l'objet window. Local est défini entre {} accolades, comme à l'intérieur d'une fonction, et est défini dans la portée locale. De manière générale, il n'est pas accessible en dehors de la fonction, mais il peut être résolu par la fermeture (nous y reviendrons plus tard).

<script>
/* 
* 1.定义函数localVariable
* 2.在函数内部使用var 声明变量userName,并设置值为marshal
* 
*/
function localVariable(){
var userName="marshal";
console.log("函数内部访问"+userName);//输出函数内部访问marshal
}
localVariable();
console.log("函数外部访问"+userName);  //报错:UncaughtReferenceError: userName is not defined
</script>
Après l'appel de la fonction localVariable(), les variables et objets déclarés à l'aide de var à l'intérieur de la fonction interne sont détruits, donc une erreur est signalée : UncaughtReferenceError : userName n'est pas défini

Si var est omis dans la fonction, il est une variable globale, exemple de code Comme suit :

<script>
/* 
* 1.定义函数localVariable
* 2.在函数内部省去var关键字
* 3.注不建议省去var 关键字,局部的全局变量很难维护,容易埋坑
*/
function localVariable(){
userName="marshal";
console.log("函数内部访问"+userName);
}
localVariable();//函数调用后,userName变为全局变量,可使用window对象访问。
console.log("函数外部访问"+window.userName);
</script>

【Recommandations associées :

tutoriel vidéo javascriptvar est-il une nouvelle fonctionnalité d’es6 ?,

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