Maison  >  Article  >  interface Web  >  Explication détaillée des références, caractéristiques, propriétés et méthodes des objets de fenêtre Javascript

Explication détaillée des références, caractéristiques, propriétés et méthodes des objets de fenêtre Javascript

伊谢尔伦
伊谢尔伦original
2017-07-26 11:04:412049parcourir

L'objet window est l'objet ascendant ultime pour JavaScript dans les navigateurs Web. Il se trouve à la fin de la portée et est un objet qui contient tous les objets. Toutes les propriétés et fonctions définies dans la portée globale sont des propriétés de l'objet window

1. Référence

Il existe généralement deux types de références à Méthodes d'objet de fenêtre. La première consiste simplement à référencer le nom donné à l'objet window ; la seconde consiste à utiliser le mot clé this dans la portée globale


var foo ='bar';
windowRef1 = window;
windowRef2 = this;
console.log(windowRef1,windowRef2);//输出window对象的引用
console.log(windowRef1.foo,windowRef2.foo);//'bar' 'bar'

2. Caractéristiques

L'objet window est implicite et n'est généralement pas référencé explicitement ; même si l'objet window est explicitement déclaré, il est implicite car l'objet window est le dernier de la chaîne de portée


//window.alert()和alert()语句基本上是相同的
var foo = {//window对象在这里是隐式的,window.foo
 fooMethod: function(){
  alert('foo' + 'bar');//window对象在这里是隐式的,window.alert
  window.alert('foo' + 'bar');//显式调用window对象,效果一样
 }
}
foo.fooMethod();//window对象在这里是隐式的,window.foo.fooMethod()

3. Propriétés
L'objet fenêtre a un total de 18 propriétés


undefined NaN Infinity 
Boolean String Number Object Array Function Date RegExp 
Error EvalError RangeError ReferenceError SyntaxError TypeError URIError

[Note] Il est interdit d'attribuer des valeurs à undefined, NaN et Infinity

4. Méthodes

Javascript est livré avec certains fonctions prédéfinies, qui sont considérées comme étant de l'objet fenêtre Méthode

1), méthode d'encodage

encodeURI( ): effectue l'intégralité de l'encodage URI, remplace tous les caractères invalides par un UTF-8 spécial

Il y a 82 caractères non codés dans encodeURI() :

! # $ & ' ( ) * + , - / : = @ _ ~ 0-9 a-z
encodeURIComponent():Encodez un certain segment de l'URI (couramment utilisé pour passer des paramètres dans la méthode GET), remplacez tous les caractères invalides par du UTF-8 spécial

De manière générale, utilisez encodeURIComponent() plus qu'encodeURI(), car dans les caractères de requête pratiques sont des paramètres de chaîne plus courants au lieu de coder l'URI de base. Il y a 71 caractères non codés dans encodeURIComponent() :

 ! ' ( ) * - 0-9 a-z A-Z
escape() : Encodez la chaîne et convertissez l'encodage Unicode du caractère en une séquence hexadécimale

L'utilisation de escape() est opposée dans ES3, et il est recommandé d'utiliser encodeURI et encodeURIComponent Au lieu de cela, escape() est encore largement utilisé pour l'encodage des cookies, car escape() encode des caractères illégaux dans les cookies et n'encode pas le "/" qui apparaît souvent dans le chemin. Il y a 69 caractères non codés pour escape() :

* + - / @ _ 0-9 a-z A-Z
decodeURI. ():Décoder encodeURI()

decodeURIComponent():Décoder encodeURIComponent()

unescape():Decode escape()

eval()

La méthode eval() est comme un complete L'analyseur ECMAScript n'accepte qu'un seul paramètre, la chaîne JavaScript à exécuter. Lorsque l'analyseur découvre que la méthode eval() est appelée dans le code, il analysera les paramètres entrants en tant qu'instructions ECMAScript réelles, puis insérera les résultats de l'exécution dans la position d'origine. La capacité de la méthode eval() à interpréter des chaînes est très puissante, mais aussi très dangereuse. Lorsqu'il l'utilise pour saisir des données utilisateur, un utilisateur malveillant peut saisir du code qui menace les caractères du site ou de l'application, ce qu'on appelle l'injection de code

[Remarque] En mode strict, eval() n'est pas accessible de l'extérieur. Pour toute variable ou fonction créée dans, attribuer une valeur à eval provoquera également une erreur

2), méthode numérique Il y a aussi isFinite sous l'objet Window (), isNaN(), parseFloat(), parseInt(), ces quatre méthodes sur les nombres

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