Das Fensterobjekt ist das ultimative Bottom-up-Objekt für JavaScript in Webbrowsern. Es befindet sich am Ende des Gültigkeitsbereichs und ist ein Objekt, das alle Objekte enthält. Alle im globalen Bereich definierten Eigenschaften und Funktionen sind Eigenschaften des Fensterobjekts
1. Referenz
Normalerweise gibt es zwei Arten von Referenzen auf Fensterobjektmethoden. Die erste besteht darin, einfach auf den Namen des Fensterobjekts zu verweisen. Die zweite besteht darin, das Schlüsselwort this im globalen Bereich zu verwenden.
var foo ='bar'; windowRef1 = window; windowRef2 = this; console.log(windowRef1,windowRef2);//输出window对象的引用 console.log(windowRef1.foo,windowRef2.foo);//'bar' 'bar'
2. Funktionen
Das Fensterobjekt ist implizit und wird normalerweise nicht explizit referenziert, selbst wenn das Fensterobjekt explizit deklariert wird. Es ist implizit, da das Fensterobjekt das letzte in der Bereichskette ist
//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. Eigenschaften
Das Fensterobjekt verfügt über insgesamt 18 Eigenschaften
undefined NaN Infinity Boolean String Number Object Array Function Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
[Hinweis] Es ist verboten, undefiniert, NaN und Unendlich Werte zuzuweisen
4. Methoden
Javascript wird mit einigen geliefert vordefinierte Funktionen, die als Teil des Fensterobjekts betrachtet werden: Methode
1), Kodierungsmethode
encodeURI( ): führt die gesamte URI-Kodierung durch, ersetzt alle ungültigen Zeichen durch spezielles UTF-8
Es gibt 82 nicht kodierte Zeichen in encodeURI():
! # $ & ' ( ) * + , - >Kodieren Sie ein bestimmtes Segment des URI (wird häufig zum Übergeben von Parametern in der GET-Methode verwendet) und ersetzen Sie alle ungültigen Zeichen durch spezielles UTF-8
Im Allgemeinen verwenden Sie encodeURIComponent() häufiger als encodeURI(), da in Übungsabfragezeichen sind häufiger String-Parameter als die Codierung des Basis-URI. Es gibt 71 uncodierte Zeichen in encodeURIComponent(): ' ( ) * - _ ~ 0-9 a-z A-Z
escape(): Codieren Sie die Zeichenfolge und konvertieren Sie die Unicode-Codierung des Zeichens in eine Hexadezimalsequenz
Die Verwendung von escape() wird in ES3 abgelehnt und es wird empfohlen, encodeURI zu verwenden und encodeURIComponent Stattdessen wird escape() immer noch häufig für die Cookie-Codierung verwendet, da escape() zufällig illegale Zeichen in Cookies codiert und das häufig im Pfad vorkommende „/“ nicht codiert. Es gibt 69 uncodierte Zeichen für escape(): * + - _ 0-9 a-z A-Z
decodeURI ():Decode encodeURI()
decodeURIComponent():Decode encodeURIComponent()
unescape():Escape() dekodieren
eval()
Die eval()-Methode ist wie eine vollständig Der ECMAScript-Parser akzeptiert nur einen Parameter, den auszuführenden JavaScript-String. Wenn der Parser feststellt, dass die Methode eval() im Code aufgerufen wird, analysiert er die eingehenden Parameter als tatsächliche ECMAScript-Anweisungen und fügt dann die Ausführungsergebnisse an der ursprünglichen Position ein. Die Fähigkeit der eval()-Methode, Zeichenfolgen zu interpretieren, ist sehr leistungsfähig, aber auch sehr gefährlich. Bei der Verwendung zur Eingabe von Benutzerdaten kann ein böswilliger Benutzer Code eingeben, der die Website- oder Anwendungszeichen bedroht. Dies ist die sogenannte Code-Injection.[Hinweis] Im strengen Modus ist eval() nicht zugänglich von außen. Bei jeder in eval erstellten Variablen oder Funktion führt die Zuweisung eines Werts zu eval auch zu einem Fehler
2), numerische Methode Es gibt auch isFinite unter dem Window-Objekt (), isNaN(), parseFloat(), parseInt(), diese vier Methoden über ZahlenDas obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Objektreferenzen, Merkmale, Eigenschaften und Methoden von Javascript-Fenstern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!