JavaScript: Malsamoj inter versioj
[nekontrolita versio] | [kontrolita revizio] |
Enhavo forigita Enhavo aldonita
Arseno (diskuto | kontribuoj) |
e pooureto |
||
Linio 1:
[[Dosiero:JSDOM.gif|eta|Strukturo de ioj Ĝavaskriptaj objektoj.]]
'''JavaScript''' (esperantigite ''ĜavaSkripto'' aŭ ''JavaSkripto'') estas interpreta, [[objektema programado|objektema]] [[programlingvo]] kreita en [[1995]]. Ĝin
Oficiale JavaScript-on difinas la [[normo]] ''ECMA-262'', alinome ''ECMAScript''. La nuna versio de tiu normo estas la tria, sed la kvina versio de
La diversaj TTT-legiloj sufiĉe bone
== Ekzemploj ==
JavaScript ne
<source lang="javascript">
x = 1
Linio 15:
</source>
Vi povas vidi, ke, malsimile al Ĝavo, oni ne devas uzi punktokomojn inter komandoj, se la komandoj ne apartenas
Krome, oni ne bezonas uzi punktokomon post komando, se la komando estas lasta.
Linio 23:
</source>
Vi povas vidi, ke funkcio
Ekzistas ilo por stiri videblon de variablo ekster funkcio.
Ĉi tiu ilo estas la vorto <code>var</code>:
<source lang="javascript">
Linio 32:
</source>
La variablo <code>s</code> ne videblas ekster la funkcio g pro la komando "<code>var s</code>".
==Objektoj==
Objektoj aperas en la lingvo tre simple. Ĉiu variablo
<source lang="javascript">
g={};
g.
</source>
Sama senco:
<source lang="javascript">
g={
</source>
Vi vidas objekton kun unu ano:
Ĉiu variablo, ne apartenanta
Ekzistas du vojoj por atingi anon de objekto. Ekzemple, por akiri la anon "
# g.
# g["
Dank'al la dua vojo oni povas rigardi akiron pri ano de objekto kiel funkcion, kies argumentoj estas la objekto kaj nomo de la ano:
<source lang="javascript">
function(g){
Linio 64:
Krome, la dua vojo permesas uzi kelkajn vortojn por nomi anojn:
<source lang="javascript">
alert(
</source>
Krome, la dua vojo permesas uzi nombrojn por nomi anojn (speciala speco de objektoj, "<code>Array</code>" = tabelo):
<source lang="javascript">
/*pli mallonga vojo por esprimi la komandon team=[0:"
alert(
</source>
Ano de objekto
=="Scope" kaj "Closure"==
Rigardu ekzemplon, en kiu funkcio naskiĝis
<source lang="javascript">
v=function(){
Linio 95:
([[Angla lingvo|angle]]: "spaco de nomoj").
"<code>Closure</code>" (angle: "adiaŭo") estas tio, kio uzas la nomspacon "<code>scope</code>". Ĝis morto de ĉiu "<code>closure</code>" la ilo "<code>Garbage collector</code>" (rubkolektilo) ne rajtas liberigi
memoron, kiun okupas "<code>scope</code>".
En la lasta ekzemplo "<code>closure</code>" estas rezulto de la funkcio v, kiu estas
==Naski objektojn per la vorto ''new''==
Kio okazos, se funkcio, kiu uzas la nomon ''<code>this</code>'', estas nenies ano?
La vorto ''<code>this</code>'' signifos novan objekton, kiu naskiĝos pro voko de la funkcio:
<source lang="javascript">
this.
};
a=new
</source>
Atingi ĉi tiun objekton oni povas per la speciala vorto ''<code>new</code>'' (por ne konfuzi al rezulto de la funkcio, oni ĝin ne atingas per rekta voko "<code>a=
Do ĉiu funkcio estas kiel "<code>class</code>" en "Ĝavo", aperas parenceco inter objektoj.
Reale, ĉiu simpla tipo en Ĝavaskripto estas "<code>class</code>". Ekzistas objektaj "familioj":
#String = karaktraro
#Number = nombro
#Boolean = bulea
#Array = tabelo
#Function = funkcio
#Object = objekto
Ekzemple, ĉiu objekto havas la anon <code>toString()</code>, kaj la primitivaj tipoj ne estas escepto (malkiel Ĝave):
<source lang="javascript">
a=3;
|