Maison >interface Web >js tutoriel >Système de type JavaScript Étude d'objet de fenêtre Notes_javascript Compétences
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 fenêtre
var myStringVar = 'myString'; var myFunctionVar = function(){}; console.log('myStringVar' in window);//true console.log('myFunctionVar' in window);//true
1. Citation
Il existe généralement deux façons de référencer l'objet window. 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. Attributs
L'objet window a un total de 18 attributs
undefined NaN Infinity Boolean String Number Object Array Function Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
[Note] L'attribution de valeurs à undefined, NaN et Infinity est interdite
4. Méthode
Javascript est livré avec quelques fonctions prédéfinies, qui sont considérées comme des méthodes de l'objet fenêtre
1), méthode d'encodage
encodeURI() :Encodez l'intégralité de l'URI, en remplaçant tous les caractères invalides par un UTF-8 spécial
Il y a 82 caractères non codés dans encodeURI() :
! # $ & ' ( ) * , - / ; ?
encodeURIComponent() :Encoder une certaine section de l'URI (couramment utilisée pour passer des paramètres dans la méthode GET), en remplaçant tous les caractères invalides par un UTF-8 spécial
!' ( ) * - 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
* - ./ @_0-9 a-z A-Z
decodeURI() :decode encodeURI()
decodeURIComponent() :decode encodeURIComponent()
unescape():Décoder escape()
var uri = "http://www.wrox.com/illegal value.htm#start"; console.log(encodeURI(uri));//http://www.wrox.com/illegal%20value.htm#start console.log(encodeURIComponent(uri));//http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start console.log(escape(uri));//http%3A//www.wrox.com/illegal%20value.htm%23start var uri = 'http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start'; console.log(decodeURI(uri));//http%3A%2F%2Fwww.wrox.com%2Fillegal value.htm%23start console.log(decodeURIComponent(uri));//http://www.wrox.com/illegal value.htm#start console.log(unescape(uri));//http://www.wrox.com/illegal value.htm#start
eval()
La méthode eval() est comme un analyseur ECMAScript complet, n'acceptant 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 est utilisé pour saisir des données utilisateur, un utilisateur malveillant peut saisir du code qui menace les caractères du site ou de l'application, appelé injection de code[Note] En mode strict, toutes les variables ou fonctions créées dans eval() ne sont pas accessibles en externe, et attribuer une valeur à eval provoquera également une erreur
2), méthode numérique
Il existe quatre méthodes numériques sous l'objet Window : isFinite(), isNaN(), parseFloat() et parseInt()Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.