Maison  >  Article  >  interface Web  >  Comment utiliser le mode strict JS

Comment utiliser le mode strict JS

php中世界最好的语言
php中世界最好的语言original
2018-04-12 16:19:302027parcourir

Cette fois je vais vous montrer comment utiliser le mode strict JS et quelles sont les précautions pour utiliser le mode strict JS. Voici des cas pratiques, jetons un oeil. .

Le mode dit strict est en fait une chaîne qui ne sera affectée à aucune variable "use strict"

Si cette invite est donnée dans la portée globale, l'intégralité du script sera en mode strict. Vous pouvez également activer le mode strict uniquement dans les fonctions

1. Il n'y a pas de variables globales en mode strict

a="tester"

Une erreur sera signalée en mode strict, mais normale en mode non strict

2. Supprimer les variables

Il existe trois situations de déclaration pour var

  • Variables globales déclarées par var

  • Variables locales déclarées par var

  • Variables globales déclarées dans eval()

Les premier et deuxième cas ne peuvent pas être supprimés avec delete.

Tout d'abord, bien que l'objet global déclaré dans le premier cas soit une propriété de windows, cette propriété a configurable=false et ne peut donc pas être supprimée

Dans le deuxième cas, les variables locales sont encore pires. Vous ne savez même pas qui est l'objet attaché. Comment supprimer

. Le troisième cas eval() sera discuté plus tard.

Retour au sujet. En d'autres termes, en mode non strict, vous pouvez supprimer des variables, mais cela échouera et renverra false.

La suppression de variables en mode strict signalera une erreur.

3. Objet

L'objet opération signalera une erreur dans les circonstances suivantes

  1. L'attribution de valeurs aux propriétés en lecture seule signalera une erreur

  2. L'utilisation de la suppression pour les propriétés non configurables signalera une erreur

  3. Ajout de propriétés à des propriétés non- les objets extensibles signaleront une erreur

  4. 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"
}

En mode non strict, la deuxième valeur sera prise par défaut, et en mode strict, une erreur sera signalée.

4. Fonction

Le mode strict exige que les noms des paramètres de fonction soient uniques

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 valeurs sont indépendantes.

Arguments.callee (faisant référence à la fonction elle-même) et arguments.caller (faisant référence à la fonction appelante) sont éliminés.

En mode strict, les noms de fonctions ne peuvent pas utiliser jsmots réservés

**En mode strict, les fonctions ne peuvent être déclarées qu'au niveau supérieur du script et à l'intérieur de la fonction. La déclaration d'une fonction dans une instruction if entraînera une erreur de syntaxe . **

if(true){
  function(){
   // 严格模式下报错
}
}

5.ce

En mode non strict, utilise apply() et call() de la fonction , et la valeur nulle ou non définie transmise sera convertie en un objet global. En mode strict, le this d'une fonction est toujours la valeur spécifiée, quelle que soit la valeur spécifiée.

var a="1";
function test(){
 console.log(this.a)
}
test.call(null) 在非严格模式下会输出1,严格模式下this就指代的就是null,null没有a属性,就会报错。

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour un contenu plus passionnant, veuillez prêter attention aux autres articles connexes sur le site Web chinois php. !

Lecture recommandée :

vue inscription globale et locale Instructions détaillées pour l'inscription

Comment readline lit et écrit le contenu ligne par ligne

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