JavaScript-globale referentiemanual
JavaScript-globale eigenschappen en functies zijn beschikbaar voor alle ingebouwde JavaScript-objecten.
JavaScript-globale eigenschappen
Eigenschap | Beschrijving |
---|---|
Infinity | Vertegenwoordigt een waarde van oneindig of negatief oneindig. |
NaN | “Not-a-Number”-waarde. |
undefined | Vertegenwoordigt een variabele die nog niet is toegewezen. |
JavaScript-globale functies
Functie | Beschrijving |
---|---|
decodeURI() | Decodeer de URI. |
decodeURIComponent() | Decodeer de URI-componenten. |
encodeURI() | Codeer de URI. |
encodeURIComponent() | Codeer de URI-componenten. |
escape() | In versie 1.5 is het verouderd.Gebruik encodeURI() Of encodeURIComponent() Vervang. |
eval() | Evalueer een string en voer het als scriptcode uit. |
isFinite() | Bepaal of de waarde een beperkte geldige nummer is. |
isNaN() | Bepaal of de waarde een ongeldige nummer is. |
Number() | Converteer de waarde van het object naar een nummer. |
parseFloat() | Parseer een string en retourneer een float. |
parseInt() | Parseer een string en retourneer een integer. |
String() | Converteer de waarde van het object naar een string. |
unescape() | In versie 1.5 is het verouderd.Gebruik decodeURI() Of decodeURIComponent() Vervang. |
Functie of methode?
Het aanroepen van de globale functies in plaats van de globale methoden heeft betekenis, omdat functies globaal worden aangeroepen en niet van een object afhankelijk zijn.
Onder welke omstandigheden dan ook, je kunt deze functies en methoden ook aanroepen, omdat ze methoden zijn van het globale object van hun runtime-omgeving. In een webbrowser is het globale object het browservenster. Dus isNaN() is eigenlijk een methode van het venster: window.isNaN().
Beschrijving van het globale object
Het globale object is een vooraf gedefinieerd object dat fungeert als een placeholder voor de globale functies en eigenschappen van JavaScript. Door het gebruik van het globale object, kunnen alle andere vooraf gedefinieerde objecten, functies en eigenschappen worden bereikt. Het globale object is geen eigenschap van een object, dus het heeft geen naam.
In top-level JavaScript-code kan de keyword this worden gebruikt om het globale object te verwijzen. Maar het hoeft meestal niet op deze manier te worden gerefereerd, omdat het globale object het hoofd van de scopechain is, wat betekent dat alle niet-gespecificeerde variabelen en functienamen als eigenschappen van dit object worden opgezoekt. Bijvoorbeeld, wanneer JavaScript-code de parseInt()-functie verwijst, verwijst het naar de parseInt-eigenschap van het globale object. Het feit dat het globale object het hoofd van de scopechain is, betekent ook dat alle variabelen die in top-level JavaScript-code worden gedeclareerd, als eigenschappen van het globale object zullen worden beschouwd.
Het globale object is enkel een object, niet een klasse. Het heeft geen constructor en kan geen nieuwe globale objecten instantiëren.
Wanneer JavaScript-code in een speciale omgeving wordt ingesloten, hebben de globale objecten meestal eigenschappen die specifiek zijn voor de omgeving. In feite stelt de ECMAScript-standaard geen type voor van het globale object, de implementatie van JavaScript of ingesloten JavaScript kunnen elke soort object als globaal object gebruiken, zolang het object de hieropgenoemde basis eigenschappen en functies definieert. Bijvoorbeeld, in een implementatie van JavaScript die Java met behulp van LiveConnect of soortgelijke technologieën kan scripten, wordt het globale object hieropgenoemde java- en Package-eigenschappen en de getClass()-methode toegekend. En in client-side JavaScript is het globale object het Window-object, dat het webbrowservenster vertegenwoordigt waarin JavaScript-code is toegestaan.
Voorbeeld
In het coretaal van JavaScript zijn de vooraf gedefinieerde eigenschappen van de globale objecten niet op te sommen, alle expliciet of impliciet gedeclareerde globale variabelen kunnen met behulp van een for/in-cyclus worden opgesomd, zoals hieronder weergegeven:
var variables = ""; for (var name in this) { variables += name + "<br />"; } document.write(variables);