Maison >interface Web >js tutoriel >Explication de l'exemple de mode strict JS
Cet article organise principalement des points de connaissances pertinents et des exemples de code en mode strict JS. Si vous êtes intéressé, suivez l'éditeur pour apprendre ensemble. J'espère que cela pourra aider tout le monde.
Le mode dit strict est en fait une chaîne "use strict" qui ne sera affectée à aucune variable
Si cette invite est donnée dans la portée globale. , alors l'intégralité du script sera en mode strict. Vous pouvez également activer le mode strict uniquement dans la fonction
1 Il n'y a pas de variables globales en mode strict
a="test"
.Strict Une erreur sera signalée en mode, mais normale en mode non strict
2. Supprimer les variables
var a trois situations de déclaration
var a trois situations de déclaration
var Variables globales déclarées dans
var Variables locales déclarées dans
Les premier et deuxième cas ne peuvent pas être supprimés en utilisant delete.
Le second le cas est local. Les variables sont encore pires. Vous ne savez même pas qui est l'objet attaché. Comment supprimer
La suppression de variables en mode strict signalera une erreur.
3. Objet
Dans les situations suivantes, une erreur sera signalée lors de l'utilisation de l'objet
L'attribution d'une valeur à un attribut en lecture seule entraînera une erreur
L'utilisation de la suppression pour les propriétés non configurables signalera une erreur
L'ajout de propriétés à des propriétés non configurables -les objets extensibles signaleront une erreur
Lors de l'utilisation de littéraux d'objet, les noms de propriété doivent être uniques. Par exemple,
var person={ name:"1", name:"2" }
prendra par défaut la deuxième valeur en mode non strict et une erreur sera signalée en mode strict.
4. Fonction
function(n,n){ // todo }
En mode non strict, cette déclaration de fonction ne signalera pas d'erreur. Seul le deuxième paramètre est accessible via le nom du paramètre, et le premier paramètre doit être accessible via des arguments.
les arguments sont également différents dans les deux modes
En mode non strict, la modification de la valeur du paramètre nommé sera répercutée dans l'objet arguments En mode strict. , les deux Les valeurs sont indépendantes.
Suppression de arguments.callee (faisant référence à la fonction elle-même) et arguments.caller (faisant référence à la fonction appelante).
if(true){ function(){ // 严格模式下报错 } }
5.this
var a="1"; function test(){ console.log(this.a) } test.call(null) 在非严格模式下会输出1,严格模式下this就指代的就是null,null没有a属性,就会报错。
Une brève introduction à l'ordre d'analyse et à la portée de JS et du mode strict
Analyse en mode strict de la portée de l'ordre d'analyse JS
Explication détaillée de ce problème de pointage en mode strict JavaScript
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!