Le mode strict (utilisation stricte)

JavaScript mode strict (utilisation stricte)

JavaScript mode strict (mode strict) qui est exécuté dans des conditions strictes

Utilisez "use strict" directive

directive « utilisation stricte » dans ECMAScript5.0 nouveau en

Ce n'est pas une déclaration, mais il est une expression littérale, est ignorée dans les anciennes versions de JavaScript

Supports navigateurs en mode strict:
  Internet Explorer 10 +, Chrome 13+ Firefox 4+, Safari 5.1+, Opera 12+

Retour en haut de la table des matières

Déclaration Strict Mode

Mode strict dans la tête par un script ou une fonction d'ajouter « l'utilisation stricte », déclaration d'expression.

"use strict"
num = 3;   // 报错 
// Uncaught ReferenceError: num is not defined

Retour en haut de la table des matières

使用 "use strict"

  1. Ne pas permettre l'utilisation de variables non définies (mode normal deviendra variables globales non définies)
  2. « L'utilisation stricte » écrit à l'intérieur de la fonction, la fonction interne est le mode strict
  3. Pourquoi utiliser le mode strict:
    • Éliminer la syntaxe Javascript déraisonnable, lieu non rigoureux, ce qui réduit certains des comportements bizarres;
    • Retirez une partie du code de l'insécurité fonctionnement, pour assurer le fonctionnement en toute sécurité du code;
    • Améliorer l'efficacité compilateur, d'augmenter la vitesse de fonctionnement;
    • Paver la voie à une future nouvelle version de Javascript.

« Mode Strict » reflète Javascript est un développement plus raisonnable, plus sûr et plus rigoureux, y compris IE 10, y compris les principaux navigateurs, soutiennent déjà, de nombreux grands projets ont commencé à l'embrasser.

Retour en haut de la table des matières

Mode strictement limité

  1. Non autorisé à déclarer Undefined variable:num = 3
  2. L'objet est également nécessaire de définir des variables:x = {a: 1, b: 2}
  3. Autorisé à des variables de suppression, des objets et des fonctions:delete num || delete x
  4. Non autorisé octal, évasion:var num = 010; var x = \100
  5. Les variables ne sont pas autorisés le même nom:function x(p1, p1) {};
  6. Nous ne permettons pas l'affectation d'attribut lecture seule:
    "use strict"
    
    var obj = {};
    Object.defineProperty(obj, "x", {value:0, writable:false});
    obj.x = 3; 
    
  7. Il est interdit d'utiliser la méthode de lecture de la propriété d'une mission de lecture:
    "use strict"
    
    var obj = {get x(){return 0}}
    obj.x = 3; 
    
  8. Autorisé à supprimer une propriété ne peut pas être supprimé:delete Object.prototype;
  9. Les noms de variables ne peuvent pas utiliser « eval », « arguments » keywords chaîne tels que:var eval = 1, arguments = 1
  10. En raison de certaines des raisons de sécurité, appel portée des variables eval () ne peut pas être créé:eval ("var x = 2");里面的x不能调用
  11. Ce mot-clé fait référence Prohibit à l'objet global:普通模式的this的值window在严格模式下为undefined
  12. ECMAScript 6 propriétés de réglage du mode strictement interdite valeurs primitives. Ne pas utiliser le mode strict, définissez la propriété sera ignorée simplement (no-op), le mode strict, va jeter un TypeError
    • primitive Valeur type de base (valeur de base des types de données de base) est ni un procédé d'objets de données non. En JavaScript, il y a sept types de base: chaîne, nombre, bigint, boolean, null, non défini, le symbole (ECMAScript 2016 nouveau)
    "use strict";
    
    false.true = "";              //TypeError
    (14).sailing = "home";        //TypeError
    "with".you = "far away";      //TypeError
    
  13. Avec pas permis

Retour en haut de la table des matières

Mots-clés réservés

Pour la transition vers la nouvelle version du futur Javascript, le mode strict ajouté quelques mots-clés réservés:

  • met en oeuvre
  • interface
  • laisser
  • paquet
  • privé
  • protégé
  • Publique
  • statique
  • rendement

Retour en haut de la table des matières

Publié 43 articles originaux · louange gagné 3 · Vues 1125

Je suppose que tu aimes

Origine blog.csdn.net/qq_45007419/article/details/104878307
conseillé
Classement