Alunperin ja perinteisesti JavaScript-ohjelmat sisältyvät html-sivuihin, joilla ne toteuttavat paikallisesti sivujen toiminallisuuksia. Selaimissa on siis JavaScript-toteutus, tavallisesti tulkki. Kielen käyttö myös itsenäisesti selaimesta riippumatta on myös mahdollista. Erityisesti viime aikona sen käyttö myös palvelinohjelmistojen toteuttamiseen on yleistynyt. Myös kielen ominaisuuksiin perehdyttäessä erillisten ohjelmien laatiminen on hyödyllistä ja kieltä voi käyttää myös "skriptilaskimena".
Käyttöesimerkki:
$ js > 2+4 6 > function summa(a,b) {return a+b} undefined > summa(4,7) 11 > .exit $
// Ensin loitsuja: var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); function kertoma(a) { if (a<2) return 1 else return a * kertoma(a-1) } // Ja sitten taikuutta: rl.question('Anna luku: ', function (luku) { console.log('Luvun '+ luku + ' kertoma on ' + kertoma(luku)); rl.close(); process.stdin.destroy(); });
$ js NodeEsimerkki.js Anna luku: 4 Luvun 4 kertoma on 24 $ js NodeEsimerkki.js Anna luku: 9 Luvun 9 kertoma on 362880 $ js NodeEsimerkki.js Anna luku: 100 Luvun 100 kertoma on 9.33262154439441e+157 $ js NodeEsimerkki.js Anna luku: 170 Luvun 170 kertoma on 7.257415615307994e+306 $ js NodeEsimerkki.js Anna luku: 171 Luvun 171 kertoma on Infinity $ js NodeEsimerkki.js Anna luku: yksi readline.js:1021 throw err; ^ RangeError: Maximum call stack size exceeded at kertoma (/cs/home/wikla/public_html/OTjs/materiaalia/suoritus/NodeEsimerkki.js:9:17) at kertoma (/cs/home/wikla/public_html/OTjs/materiaalia/suoritus/NodeEsimerkki.js:13:16) at kertoma (/cs/home/wikla/public_html/OTjs/materiaalia/suoritus/NodeEsimerkki.js:13:16) ... $
var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout); console.log('Anna komentoja. Tyhjä lopettaa.'); rl.setPrompt('komento> '); rl.prompt(); rl.on('line', function(line) { if (line === "") rl.close(); console.log('Toteutan komennon ' + line) rl.prompt(); }).on('close',function(){ process.exit(0); });
Anna komentoja. Tyhjä lopettaa. komento> abcd Toteutan komennon abcd komento> qwerty Toteutan komennon qwerty komento>
var readline = require('readline'); var rl = readline.createInterface(process.stdin, process.stdout); console.log('Kertomanlaskentapalvelu. Tyhjä lopettaa.'); function kertoma(a) { if (a<2) return 1 else return a * kertoma(a-1) } rl.setPrompt('Anna luku: '); rl.prompt(); rl.on('line', function(luku) { if (luku === "") rl.close(); console.log('Sen kertoma on ' + kertoma(luku)) rl.prompt(); }).on('close',function(){ process.exit(0); });
Kertomanlaskentapalvelu. Tyhjä lopettaa. Anna luku: 4 Sen kertoma on 24 Anna luku: 9 Sen kertoma on 362880 Anna luku: 100 Sen kertoma on 9.33262154439441e+157 Anna luku: 170 Sen kertoma on 7.257415615307994e+306 Anna luku: 171 Sen kertoma on Infinity Anna luku:
<script type="text/javascript"> function summa(a,b) {return a+b} // ... </script>
<script src="ohjelma.js">
<html> <head> <title>JS-kokelua: prompt ja alert</title> </head> <body> <script type="text/javascript"> function kertoma(a) { if (a<2) return 1 else return a * kertoma(a-1) } var a = prompt("Anna luku."); a = parseInt(a); alert("Luvun "+ a + " kertoma on " + kertoma(a)); </script> </body> </html>Näin palvelu pelaa!
<script type="text/javascript"> function kertoma(a) { if (a<2) return 1 else return a * kertoma(a-1) } function tulostaKertoma() { var a = document.getElementById("luku_a").value; a = parseInt(a); document.getElementById("kertoma").value = kertoma(a); } </script> <p> Syötä luku ensimmäiseen kenttään ja paina enter. <p> Luvun <input type="text" id="luku_a" size=3 value="" onChange="tulostaKertoma();"> kertoma on <input type="text" id="kertoma" size=15 value="">
Syötä luku ensimmäiseen kenttään ja paina enter.
Luvun kertoma on
<script type="text/javascript"> function boeoe() {document.getElementById("kentta").value="BÖÖ!";} function nollaa() {document.getElementById("kentta").value="nollattu";} </script> <input type="button" value="Paina nappulaa!" onclick="alert('Painoit nappulaa');"> <input type="button" value="Painapa tätäkin, jos uskallat!" onclick="boeoe();"> <p> <input type="text" id="kentta" size=3 value="" onChange="nollaa();">
<script type="text/javascript"> document.write("Näin ei saa tehdä!"); </script>seurauksena syntyy teksti:
(Tämän kiellon siis ihan oikeasti kirjoitti tuo skripti.)
Tämä sivun latausaika on <br> <script type="text/javascript"> document.write(new Date()); </script>Tämä sivun latausaika on
(Tässä siis ihan oikeasti on tuo skripti. Tee reload, ellet usko! ;-)
Toteutus on hyvin yksinkertainen:
function suorita(elementId) { eval(document.getElementById(elementId).value); } function write(t) {document.getElementById("tulos").value += t +"\n" } function clearAll() {document.getElementById("tulos").value =""; document.getElementById("ohjelma").value ="" } function clearTul() {document.getElementById("tulos").value =""; }Näiden funktioiden liitäntä html-elementteihin selviää katsomalla tämän sivun lähdekoodia.