Download as ps, pdf, or txt
Download as ps, pdf, or txt
You are on page 1of 3

Webmonkey: programming: Thau’s JavaScript Tutorial http://hotwired.lycos.com/webmonkey/templates/print_template.htm...

webmonkey/programming/
Thau’s JavaScript Tutorial
by Thau!

,QWHUDFWLYLW\VKPLQWHUDFWLYLW\0RVW:HESDJHVWKDWFODLPLQWHUDFWLYLW\UHDOO\PHDQ\RXFDQFOLFNRQ
K\SHUOLQNVWRJRWRQHZSDJHV(YHQ:HESDJHVWKDWKDYH&*,VFULSWVEHKLQGWKHPGRQ
WUHDOO\VHHPDOO
WKDWLQWHUDFWLYH)LOORXWDIRUPKLWWKH6XEPLWEXWWRQDQGZDLW,W
VPRUHOLNHWKURZLQJERWWOHVLQWRDQ
RFHDQDQGKRSLQJIRUDPHDQLQJIXOUHSO\

+DSSLO\ZHKDYH-DYD6FULSW:LWK-DYD6FULSWLPDJHVFDQVZDSZKHQ\RXPRYHDFXUVRURYHUWKHP
IRUPHOHPHQWVFDQLQIOXHQFHHDFKRWKHURQWKHIO\DQGFDOFXODWLRQVFDQEHPDGHZLWKRXWKDYLQJWRUHVRUW
WRD&*,VFULSW7KHUH
VQRQHRIWKLVVXEPLWDQGZDLWVWXII²HYHU\WKLQJKDSSHQVRQ\RXU:HESDJH
ZKLOH\RX
UHSOD\LQJZLWKLW

2QHRIWKHEHVWWKLQJVDERXW-DYD6FULSWLVWKDW\RXFDQGRDJUHDWGHDOZLWKYHU\OLWWOHSURJUDPPLQJ<RX
GRQ
WQHHGDIDQF\FRPSXWHU\RXGRQ
WQHHGDQ\VRIWZDUHRWKHUWKDQDZRUGSURFHVVRUDQGD:HE
EURZVHUDQG\RXGRQ
WQHHGDFFHVVWRD:HEVHUYHU\RXFDQGRDOO\RXUZRUNULJKWRQ\RXURZQ
FRPSXWHU

(YHQWKRXJKLW
VVLPSOHWRZRUNZLWK-DYD6FULSWLVDFRPSOHWHSURJUDPPLQJODQJXDJHVRDV\RXOHDUQ
PRUHFRPSOLFDWHG-DYD6FULSW\RX
UHDOVROHDUQLQJWKHEDVLFVRIFRPSXWHUSURJUDPPLQJ,I\RXZDQWWR
PRYHRQWRRWKHUSURJUDPPLQJODQJXDJHVOLNH3HUO&&RU-DYD-DYD6FULSWLVDJUHDWLQWURGXFWLRQ

(QRXJKK\SHDERXW-DYD6FULSW2QWRK\SHDERXWWKLVWXWRULDO

All About This Tutorial


7KLVILYHSDUWWXWRULDODLPVWRJHW\RXZULWLQJXVHIXO-DYD6FULSWVLPPHGLDWHO\$QGQRWMXVWVLOO\
-DYD6FULSWV²WKLVWXWRULDOZLOOWHDFK\RXKRZWREXLOGWKHEURZVHURI\RXUGUHDPV$VZHJRWKURXJKWKH
H[DPSOHVLQWKHFRXUVH\RXZLOOEXLOGDIDQFLHUDQGIDQFLHUEURZVHUWKDW\RXFDQWZHDNWR\RXUKHDUW
V
FRQWHQW7ZHDNLQJLVWKH:HEPRQNH\ZD\DIWHUDOO

+HUH
VDEULHIRXWOLQHRIZKDW\RXZLOOOHDUQHDFKGD\ZLWKDQH[DPSOHRIZKDW\RX
OOEHDEOHWRGRE\WKH
HQGRIWKDWOHVVRQ

'D\,QWURGXFWLRQVVRPHH[DPSOHVDQG\RXUILUVW-DYD6FULSW H[DPSOH
'D\9DULDEOHVLIWKHQEUDQFKLQJOLQNHYHQWVDQGLPDJHVZDSV
'D\:LQGRZVIUDPHVDQGWKH'RFXPHQW2EMHFW0RGHO
'D\/RRSVDUUD\VDQGIXQFWLRQV
'D\)RUPVIRUPVDQGPRUHIRUPV

%HIRUHZHMXPSLQKHUHDUHIHZLPSRUWDQWWKLQJVWRQRWHDERXW-DYD6FULSWDQGWKLVWXWRULDO

)LUVW-DYD6FULSWLVQRW-DYD

6HFRQGVRPHWLPHV-DYD6FULSWLVQ
W-DYD6FULSW,WWXUQVRXWWKDWGLIIHUHQWEURZVHUVGHDOZLWK-DYD6FULSW
GLIIHUHQWO\,QIDFWGLIIHUHQWYHUVLRQVRIWKHVDPHEURZVHUKDQGOH-DYD6FULSWGLIIHUHQWO\6RDOZD\V
GRXEOHFKHFN\RXU-DYD6FULSWHGSDJHVRQDVPDQ\GLIIHUHQWEURZVHUV RUHYHQSODWIRUPV DVSRVVLEOH

7KLUGWKLVWXWRULDOLVQRWDVXEVWLWXWHIRUDJRRGUHIHUHQFHERRN-DYD6FULSWLVYHU\ULFKDQGDOWKRXJK
\RX
OOOHDUQPRVWRIWKHJUDPPDURI-DYD6FULSWKHUH\RXZRQ
WOHDUQWKHHQWLUHODQJXDJH6RLI\RXOLNH
ZKDW\RX
YHOHDUQHGKHUHDQGDUHVHULRXVDERXWZULWLQJ\RXURZQ-DYD6FULSWVJRRXWDQGJHWDERRN
:KDWHYHUERRN\RXJHWVKRXOGKDYHDQH[WHQVLYHUHIHUHQFHVHFWLRQ,VXJJHVW-DYD6FULSW7KH'HILQLWLYH
*XLGHE\'DYLG)ODQDJDQRUDKHPP\YHU\RZQ7KH%RRNRI-DYDVFULSW$3UDFWLFDO*XLGHWR
,QWHUDFWLYH:HE3DJHV

)RXUWKYLHZVRXUFH7KHEHVWZD\WROHDUQ-DYD6FULSWLVWRORRNDWVFULSWVRWKHUSHRSOHKDYHZULWWHQ
-DYD6FULSWMXVWOLNH+70/FDQEHYLHZHGE\VHOHFWLQJ9LHZ6RXUFHRQ\RXUEURZVHU'RLWIUHTXHQWO\

)LQDOO\DVZLWK+70/WKHEHVWZD\WROHDUQ-DYD6FULSWLVWRH[SHULPHQWIUHHO\DQGRIWHQ$WVHYHUDO

1 of 3 18/05/2004 10:21
Webmonkey: programming: Thau’s JavaScript Tutorial http://hotwired.lycos.com/webmonkey/templates/print_template.htm...

SODFHVLQWKLVWXWRULDO\RX
OOEHJLYHQWKHRSSRUWXQLW\WRWU\WKLQJVRXW'RQ
WEHDIUDLGWRH[SDQGEH\RQG
WKHH[HUFLVHWRWU\QHZWKLQJV

$OOULJKWHQRXJKZLWKWKHGLVFODLPHUV/HW
VZULWHVRPH-DYD6FULSW

Down to Business

&RQJUDWXODWLRQV

<RX
YHMXVWVHHQDQH[DPSOHRI-DYD6FULSWLQDFWLRQ,I\RXYLHZVRXUFH\RX
OOVHHVRPHWKLQJWKDWORRNV
OLNHWKLV

<HTML>
<head>
<title>
Thau’s JavaScript Tutorial
</title>

<script language="JavaScript">

// put up an alert box, to show how they work

alert("Soon, I will rebuild my browser!");

</script>

</head>

+HUHDUHWKHNH\WKLQJVWRQRWLFH

-DYD6FULSWXVXDOO\JRHVEHWZHHQWKH</title>WDJDQGWKH</head>WDJ
/LNH+70/-DYD6FULSWLVMXVWWH[WWKDWFDQEHW\SHGLQWRDZRUGSURFHVVRU,WJRHVULJKWLQWRWKH
+70/WKDWGHVFULEHV\RXUSDJH $OWKRXJK,
YHRQO\VKRZQ-DYD6FULSWLQWKHKHDGHURIWKH+70/
SDJH\RXFDQDOVRSXW-DYD6FULSWLQWKHERG\<RX
OOVHHDQH[DPSOHRIWKLVLQWKHQH[WOHVVRQ

7KHEHJLQQLQJRIDELWRI-DYD6FULSWEHJLQVZLWK<script language="JavaScript">
5LJKWQRZ\RXGRQ
WUHDOO\KDYHWRSXWWKHlanguage="JavaScript"HOHPHQWLQWKHUHEHFDXVH
-DYD6FULSWLVWKHGHIDXOWVFULSWODQJXDJHIRUDOOEURZVHUV+RZHYHUWKLVFRXOGFKDQJHVRLW
VDJRRG
LGHDWRLQFOXGHWKHODQJXDJHHOHPHQW

(YHU\WKLQJEHWZHHQ//DQGWKHHQGRIDOLQHLVDFRPPHQWDQGZLOOEHLJQRUHG
&RPPHQWFRPPHQWFRPPHQW$EDVLFUXOHRIJRRGSURJUDPPLQJVW\OHLVWKDW\RXVKRXOGDOZD\V
WKLQNDERXWWKHQH[WSHUVRQZKRKDVWRORRNDW\RXUVFULSW,WPLJKWEHDIULHQGDFRZRUNHUDQ
HPSOR\HURULWFRXOGEH\RXLQWKUHHPRQWKV7KHHDVLHVWZD\WRPDNHVXUH\RX
OOXQGHUVWDQG\RXU
RZQVFULSWLQWKUHHPRQWKVLVWRFRPPHQWIUHHO\DQGRIWHQ,I\RXZDQWWRFRPPHQWDKXJHEORFN
RIWH[W\RXFDQSXWLWEHWZHHQ/*DQG*/OLNHWKLV

/* this is
a huge block
of text that I’ve
commented out */

alert("Soon, I will rebuild my browser!");FDOOVXSDVLPSOHGLDORJER[ZLWKWKHZRUGV6RRQ,


ZLOOUHEXLOGP\EURZVHULQVLGH
+HUH
V\RXUILUVWSLHFHRI-DYD6FULSWWKHDOHUWPHWKRG<RX
OOOHDUQPRUHDERXWKRZWKLVOLQHZRUNV
LQWKHQH[WOHVVRQ)RUQRZ\RXMXVWQHHGWRNQRZWKDW\RXVKRXOGHQGLWZLWKDVHPLFRORQDQG
SXWWKHWH[W\RXZDQWLQWKHDOHUWER[EHWZHHQTXRWHV

-DYD6FULSWVHQGZLWKWKH</script>WDJ
1RURFNHWVFLHQFHKHUH(DV\DV+70/

6LPSOHULJKW":HOODFWXDOO\WKHUH
VRQHFRPSOLFDWLRQ

Hiding JavaScript
7KHSUREOHPZLWKWKHODVWH[DPSOHLVWKDWVRPHROGEURZVHUVGRQ
WXQGHUVWDQGWKH<script>WDJ7KHVH
EURZVHUVZLOOWUHDW\RXU-DYD6FULSWMXVWOLNH+70/VRWKHSDJHZLOOFRPHRXWOLNHWKLV

//put up an alert box, to show how they work

alert("Soon, I will rebuild my browser!");

2 of 3 18/05/2004 10:21
Webmonkey: programming: Thau’s JavaScript Tutorial http://hotwired.lycos.com/webmonkey/templates/print_template.htm...

&RQJUDWXODWLRQV

:KLFKLVQ
WJUHDW/XFNLO\WKHUH
VDWULFNLQYROYLQJ+70/FRPPHQWV

<html>
<head>
<title> blah blah blah </title>

<script language="JavaScript">

<!-- hide this stuff from other browsers

YOUR SCRIPT HERE

// end the hiding comment -->

</script>

</head>
<body>
etc., etc., etc.

7KHUHDVRQVZK\WKLVWULFNZRUNVHYDGHGPHIRUDZKLOHDQG\RXFDQXVHLWZLWKRXWXQGHUVWDQGLQJZK\
LWZRUNV+RZHYHULI\RXUHDOO\ZDQWWRNQRZKHUH
VZK\WKHFRPPHQWWULFNZRUNV

2.EHOLHYHLWRUQRW\RX
UHUHDG\IRU\RXUILUVW-DYD6FULSWH[HUFLVH

2QFH\RX
YHFRQTXHUHGWKDWDVVLJQPHQWWDNHDPLQXWHWRUHDGRXUUHYLHZRI/HVVRQ

Lesson 1 Review
2.<RX
UHZHOORQ\RXUZD\WRXQGHUVWDQGLQJ-DYD6FULSW+HUH
VDTXLFNUHYLHZRIZKDWZDVFRYHUHG
WRGD\

7KHJUHDWQHVVRI-DYD6FULSW
%URZVHUFRPSDWLELOLW\SUREOHPV
2WKHUZD\VWROHDUQ-DYD6FULSW
:KHUH-DYD6FULSWJRHVRQDSDJH
+RZWRFRPPHQW IUHHO\DQGRIWHQ
+LGLQJ\RXU-DYD6FULSWIURPXQVDYY\EURZVHUV
+RZDOHUWER[HVZRUN

7RGD\ZDVMXVWDQLQWURGXFWLRQWRJLYH\RXDIHHOIRUKRZWKLQJVZRUN1H[WWLPHZH
OOVWDUWJHWWLQJ
VHULRXV

7RSLFVIRUQH[WWLPH

:KDWVRUWVRILQIRUPDWLRQ-DYD6FULSWNQRZVDERXW
+RZ-DYD6FULSWVWRUHVWKDWLQIRUPDWLRQ
+RZ-DYD6FULSWGHFLGHVZKDWWRGR
+RZWRGRWKRVHQLIW\LPDJHVZDSV

5HDG\"7KHQRQWR/HVVRQ

Thau! is a core troll at bianca’s and is the author of The Book of Javascript: A Practical Guide to Interactive Web Pages.
He has a large collection of exotic chickens and futurists.

)HHGEDFN_+HOS_$ERXW8V_-REV_$GYHUWLVH_3ULYDF\6WDWHPHQW_7HUPVRI6HUYLFH

&RS\ULJKW ‹:LUHG'LJLWDO,QFD/\FRV1HWZRUNVLWH$OOULJKWVUHVHUYHG

3 of 3 18/05/2004 10:21

You might also like