Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript-Typsystem Fensterobjektstudiennotizen_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 15:21:15
Original
1292 Leute haben es durchsucht

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

var myStringVar = 'myString';
var myFunctionVar = function(){};
console.log('myStringVar' in window);//true
console.log('myFunctionVar' in window);//true
Nach dem Login kopieren

1. Zitat

Normalerweise gibt es zwei Möglichkeiten, auf das Fensterobjekt zu verweisen. 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' 

Nach dem Login kopieren

2. Funktionen

Das Fensterobjekt ist implizit und wird normalerweise nicht explizit referenziert; selbst wenn das Fensterobjekt explizit deklariert wird, ist es 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()


Nach dem Login kopieren

3. Attribute
Das Fensterobjekt verfügt über insgesamt 18 Attribute

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

[Hinweis] Das Zuweisen von Werten zu undefiniert, NaN und Unendlich ist verboten

4. Methode

Javascript verfügt über einige vordefinierte Funktionen, die als Methoden des Fensterobjekts gelten

1), Kodierungsmethode

encodeURI():Kodieren Sie den gesamten URI und ersetzen Sie alle ungültigen Zeichen durch spezielles UTF-8

Es gibt 82 nicht codierte Zeichen in encodeURI():

! # $ & ' ( ) * , - : ?
encodeURIComponent():Kodieren Sie einen bestimmten Abschnitt des URI (wird üblicherweise 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 es in der Praxis häufiger vorkommt, Zeichenfolgenparameter abzufragen, als den zugrunde liegenden URI zu codieren. Es gibt 71 nicht codierte Zeichen in encodeURIComponent():

! ' ( ) * - _ ~ 0-9 a-z A-Z
escape():Kodieren Sie die Zeichenfolge und konvertieren Sie die Unicode-Kodierung des Zeichens in eine Hexadezimalsequenz

Die Verwendung von escape() wird in ES3 abgelehnt und es wird empfohlen, stattdessen encodeURI und encodeURIComponent zu verwenden. Escape() wird jedoch immer noch häufig für die Cookie-Kodierung verwendet, da escape() zufällig illegale Zeichen in Cookies kodiert wird häufig in Pfaden verwendet. Das Auftreten von „/“ ist 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

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
Nach dem Login kopieren

eval()

Die eval()-Methode ist wie ein vollständiger ECMAScript-Parser und 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. Wenn es zur Eingabe von Benutzerdaten verwendet wird, kann ein böswilliger Benutzer Code eingeben, der die Website- oder Anwendungszeichen bedroht, was als Code-Injection bezeichnet wird

[Hinweis] Im strikten Modus kann auf alle in eval() erstellten Variablen oder Funktionen nicht extern zugegriffen werden, und das Zuweisen eines Werts zu eval führt ebenfalls zu einem Fehler

2), digitale Methode

Es gibt vier digitale Methoden unter dem Window-Objekt: isFinite(), isNaN(), parseFloat() und parseInt()

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage