








Untuk melihat hasilnya, buka file Hello.html dengan internet browser. Sebenarnya ada dua cara menanamkan JavaScript kddalam dokumen HTML anda, yaitu : 1. Mengapit JavaScript tersebut dengan tag <SCRIPT>...</SCRIPT> Contoh :<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- Menyembunyikan script terhadap browser non-JavaScriptdocument.write("Hello world.")// akhir dari penyembunyian --></SCRIPT> </HEAD> </HTML>
<SCRIPT LANGUAGE="JavaScript">2. Menggunakan tag HTML yang menangani event. Contoh :<!-- Menyembunyikan script terhadap browser non-JavaScriptPerintah-perintah JavaScript anda diketik disini. // --> </SCRIPT>
<A HREF="http://www.indoprog.com" onMouseOver="window.status='Klik disini untuk mengetahui lebih jauh tentang saya'; return true;" onMouseOut="window.status=''; ">Klik disini</A>
Walaupun Netscape Navigator akan mengolah semua teks dalam tag <SCRIPT> sebagai JavaScript, tetapi adalah lebih baik melakukan deklarasi LANGUAGE yang menentukan jenis bahasa script yang digunakan. karena ada beberapa bahasa script lainnya untuk HTML, mendeklarasikan jenis bahasa script adalah suatu praktek yang baik. Marilah kita memulai dengan suatu program sederhana yang akan mencetak Hello World.
Contoh :
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- Menyembunyikan script terhadap browser non-JavaScriptdocument.write("Hello world.")// akhir dari penyembunyian --></SCRIPT> </HEAD> </HTML>
<!-- Menyembunyikan script terhadap browser non-JavaScriptPerintah-perintah JavaScript anda ketik disini.// akhir dari penyembunyian -->
| Catatan |
Ingat, selalu mengetik JavaScript diantara baris komentar sehingga browser non Java dapat mengabaikannya, hal ini dilakukan karena siapa saja dapat mengunjungi homepage kita di internet dengan berbagai web browser. |
Contoh: <FORM> <INPUT TYPE=BUTTON VALUE="Coba Klik" onClick="alert('Hello world')"> </FORM> Hasil:
Pada contoh diatas menggunakan beberapa variabel seperti scrollCounter, scrollText, scrollDelay, i, dan literal seperti 0, "Teks yang anda inginkan, misalnya Viva Indoprog", 70. Pada JavaScript memiliki beberapa tipe dari nilai sebagai berikut :<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- Start of scroller script var scrollCounter = 0; var scrollText = "Teks yang anda inginkan, misalnya Viva Indoprog"; var scrollDelay = 70; var i = 0; while (i ++ < 140) scrollText = " " + scrollText; function Scroller() { window.status = scrollText.substring(scrollCounter++, scrollText.length); if (scrollCounter == scrollText.length) scrollCounter = 0; setTimeout("Scroller()", scrollDelay); } Scroller(); // End of scroller script --> </SCRIPT></HEAD><BODY><H1>Coba perhatikan status bar anda</H1></BODY> </HTML>
Nama_depan h9224 _nama
| Catatan |
JavaScript membedakan huruf besar dan kecil (case sensitif), sehingga harus diwaspadai oleh programmer, penulisan indoprog adalah berbeda dengan Indoprog bagi JavaScript. |
Table 1. Cadangan kata pada JavaScript.
| abstract | extends | int | super |
| boolean | false | interface | switch |
| break | final | long | synchronized |
| byte | finally | native | this |
| case | float | new | throw |
| catch | for | null | throws |
| char | function | package | transient |
| class | goto | private | true |
| const | if | protected | try |
| continue | implements | public | var |
| default | import | return | val |
| do | in | short | while |
| double | instanceof | static | with |
| else |
temperatur = temperatur = "Temperatur adalah" temperature = "Temperatur adalah " + 27Karena JavaScript sangat longgar tentang tipe, dan menyediakan beberapa fungsi untuk melakukan manipulasi data string dan nilai numerik (belum dibahas pada bagian ini).
var nilaiTerbesar =0JavaScript mengganggap semua variabel yang tidak diawali dengan var adalah variabel global. Walaupun JavaScript memperbolehkan anda menggunakan nama variabel yang sama untuk local maupun global, tetapi dalam praktek hal tersebut tidak disarankan, karena akan membingungkan anda sendiri.
| TIP |
Untuk memastikan fungsi mendapatkan nilai yang benar dari suatu variabel global, deklarasikan semua variabel global tersebut pada awal dari script. |
"suatu literal dengan petik ganda" 'suatu literal dengan petik tunggal'
| TIP |
Ketika anda menulis event handle, apit string dengan petik tunggal, karena petik ganda dibatasi untuk nilai atribut pada HTML Contoh : <FORM> <INPUT TYPE=BUTTON VALUE="Coba Klik" onClick="alert('Hello world')"> </FORM> |
Table 2. Karakter khusus JavaScript.
| Keterangan | Spesial Karakter |
| Backspace | \b |
| Form feed | \f |
| Newline | \n |
| Carriage return | \r |
| Tab | \t |
temp = 24pada contoh diatas, temp adalah variabel, 24 adalah variabel, = adalah operator, dan temp=24 adalah ekspresi. Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:
operand1 operator operand2Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi dengan operator binari. Operator unari memiliki dua format:
operand operatoratau
operator operandSebagai contoh ekspresi mengunakan operator unari adalah ++y atau y++.
|
Catatan |
|
Table 3. Daftar Operator assignment
| Shorthand operator | Artinya | Contoh |
| x += y | x = x + Y | x += |
| x -= y | x = x - y | x -= |
| x *= y | x = x * y | x *= |
| x /= y | x = x / y | x /= |
| x %= y | x = x % y | x %= |
| x <<= y | x = x << y | x <<= |
| x >>= y | x = x >> y | x >>= |
| x >>>= y | x = x >>> y | x >>>= |
| x &= y | x = x & y | x &= 0xC0 |
| x |= y | x = x | y | x |= 0x0F |
| x ^= y | x = x ^ y | x ^= 0XFF |
| Catatan |
Bagi yang tidak familiar dengan pemrograman C, hati-hati dengan perbedaan antara assignment operator (=) dan comparison operator (==) |
(kondisi) ? nilai_benar : nilai_salahJika kondisi adalah benar, ekspresi memiliki dari true_value. Sebaliknya memiliki nilai dari false_value. Seperti saudaranya yang berbasis bahasa C, ekpresi kondisi adalah ekspresi standard dan dapat digunakan dimana saja, dan dapat dilihat sebagai berikut :
status_baterai = (voltase > 1.3) ? "baik" : "buruk"
Catatan
Bagi programmer C language, tentu saja comparison operator (==) bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan = adalah tidak sama dengan ==.
"Java" + "Script"Menghasilkan
"JavaScript"Operator shorthand += mengabung string kiri dengan string dikanan operand dan memberikan nilai baru pada operand disebelah kiri.
Table 4. Prioritas urutan operasi dari prioritas rendah sampai tinggi.
| Keterangan | Operator |
| Assignment | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
| Conditional | ?: |
| Logical OR | || |
| Logical AND | && |
| Bitwise OR | | |
| Bitwise XOR | ^ |
| Bitwise AND | & |
| Equality | == != |
| Relational | < <= > >= |
| Bitwise shift | << >> >>> |
| Addition/subtraction | + - |
| Multiply/divide | * / % |
| Negation/increment | ! ~ - ++ - |
| Call, member | () [] |
if (kondisi1) { pernyataan1 } [else { pernyataan2}]kondisi adalah ekspresi JavaScript yang mana hasil evaluasinya memiliki nilai Boolean true atau false. contoh pemakaian statement if:
if (n>3) { status = true if (j != n) j = 0 } else j = n
| Perhatian |
Bagi programmer C harus berhati-hati dengan evaluasi kondisi pada JavaScript. Suatu kondisi numerik yang mengasilkan nol adalah tidak sama dengan suatu Boolean true pada JavaScript, dan sebaliknya suatu nilai bukan nol tidak sema dengan Boolean false. Pada JavaScript hasil dari suatu kondisi harus data type Boolean. |
if (a==b) j=0 else j=1
for ([ekspresi-awal;] [kondisi;] [ekspresi-penambah]) { pernyataan }Urutan proses untuk perintah for adalah sebagai berikut:
Contoh : <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- menyembunyikan script dan browser non-JS for (i=1; i<=10; i++) { sq=i*i document.write("number: " + i + " square: " + sq + "<BR>") } // akhir dari penyembunyian --> </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hasil : number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100 number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100 number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100
while (kondisi) { pernyataan }Test kondisi terjadi pada perulangan while yang pertama kali dan pada akhir dari setiap loop. Ketika hasil test mengembalikan false, kendali dilewatkan ke perintah berikutnya setelah loop. Perintah for yang diubah ke suatu while loop.
Contoh:
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- menyembunyikan script i=1 while (i<=10) { sq=i*i document.write("number: " + i + "square: " + sq + "<BR>") i++ } // end script hiding --> </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hasil: number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100 number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100 number: 1 square: 1 number: 2 square: 4 number: 3 square: 9 number: 4 square: 16 number: 5 square: 25 number: 6 square: 36 number: 7 square: 49 number: 8 square: 64 number: 9 square: 81 number: 10 square: 100
i=0 while (i<10) { if (i==3) break i++ }
i=0 while (i<10) { if (i==3) continue i++ }
function FunctionName(argument list) { statements }
Contoh: <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript" <!-- hide the script function DisplayIt(LineToDisplay) { document.write(LineToDisplay + "<BR>") } // end hiding --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript" <!-- hide it LineToDisplay("Hello World") // end hiding --> </SCRIPT> </BODY> </HTML>
| TIP |
Karena browser membaca perintah tersebut diapit oleh <HEAD>...</HEAD> duluan; adalah praktek yang baik untuk memesan semua variabel global dan semua fungsi pada HEAD dari dokumen. Hal ini mencegah kesalahan seperti non-initialized variables dan undefined functions |
Contoh : <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- menyembunyikan UnorderList="UL" function DisplayList(ListType) { // menampilkan variabel list if (ListType="OL" || ListType="UL") { // validasi jenis list document.write("<" + ListType + ">" // menampilkan jenis list for (var i=1; i<DisplayList.arguments.length; i++) document.write("LI" + DisplayList.arguments[i]) document.write("</" + ListType + ">") // End list return true } else return false } // akhir dari penyembunyian --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript" <!-- menyembunyikan if (DisplayList(UnorderList, "Bullet 1 text", "Bullet 2 text")) document.write("<P>List Display</P>") else document.write("<P>Invalid List Type<p>") // unhide it --> </SCRIPT> </BODY> </HTML>
function RetExam(a, b) { var x=0 x = a+b return x } TestResult=RetExam(5, 7)
// ini adalah komentar if (a=b) c=1 // ini juga adalah komentarKomentar banyak baris mengikuti aturan pada C dan dapat digunakan untuk menandai perintah JavaScript, sebagaimana yang ditunjukkan oleh contoh sebelumnya, adalah sutu komentar HTML, baris terakhir membutuhkan dua slash untuk menjaga JavaScript dapat menginterprestasikan baris tersebut.
ObjekName.PropertyNameSebagai contoh, objek mydog memiliki properti sebagai berikut :
mydog.breed="small mut" mydog.age=5 mydog.weight=25Objek juga dapat menggunakan acuan array dengan menggunakan nama propertinya sebagai index:
mydog["breed"]="small mut" mydog["age"]=5 mydog["weight"]=25Juga dapat mengunakan acuan array dengan index secara numerik:
mydog[0]="small mut" mydog[1]=5 mydog[2]=25
ObjekName.MetodeName = function_nameKemudian metode tersebut berkerja dengan suatu objek:
ObjekName.MetodeName(parameters);
for (variable in Objekname) { statements }Contoh berikut mengunakan perintah ini untuk menampilkan semua properti dalam suatu objek dan nilai asosiasinya:
function ListProperti(obj, obj_name) { var result = "" for (var i in obj) { result += obj_name + "." + i " = " + obj[i] + "<BR>" } return result PropList = ListProperti(mydog, "mydog")Pada contoh sebelumnya, variabel i adalah nama dari property, kemudian mengindeks objek dengan menggunakan property name_obj[i].
with (ObjekName) { statements iObjek math berikut merupakan contoh pemakaian dari perintah with:
var r = var x = with (Math) { r = p / (1 - cos(a)) x = (2 * p * cos(a)) / (sin(a) * sin(a)) }
ObjekName = new ObjekType(param1 [, param2,] � [, paramN])
function dog(breed, age, weight) { this.breed = breed; this.age = age; this.weight = weight; }Untuk menggunakan fungsi diatas, operand new diperlukan untuk mendefinisikan suatu instance baru untuk objek tersebut. Sebagai contoh:
mydog = new dog("small mut", 5, 25);Selain type data yang umum (string, numeric, and Boolean), objek yang lain dapat juga menjadi properti dari suatu objek. Contoh menambah suatu nomor izin pada objek jenis dog, nomor izib ini juga mengacu pada objek lain.
function doglicense(owner, phone_number) { this.owner = owner; this.phone_number = phone.number; } AZ123 = new doglicense("John Smith", "999-9999");Jenis Objek dog perlu dimodifikasi untuk mengikutsertakan informasi baru tersebut:
function dog(breed, age, weight, license) { this.breed = breed; this.age = age; this.weight = weight; this.license = license; } mydog = new dog("mixed mut", 5, 25, AZ123);Untuk mengacu pada pemilik mydog, syntax berikut diperlukan
mydog.license.owner
| CATATAN |
Jika suatu property baru ditambahkan pada suatu objek tanpa mengubah jenis objek, properti tambahan tersebut hanya berpengaruh pada objek tersebut dan bukan pada semua instances dari objek jenis yang sama. |
| CATATAN |
Suatu variabel string atau suatu string literal adalah suatu objek string. Metode string adalah asosiasi dengan objek ini, dan akan didiskusikan pada bagian "Objek dan fungsi built-in". |
function MakeArray(n) { this.length = n; for (var i = 1; i <= n; i++) this[i] = 0; return this }Langkah berikutnya adalah mendefinisikan suatu instance untuk membentuk objek MakeArray :
ExmpArray = new MakeArray(20);Ketika anda memberikan nilai pada suatu elemen array, hal tersebut menyerupai memberi nilai pada suatu type data array. Perbedaannya adalah array ini dimulai dari satu dan bukan nol, karena nol mendefinisikan panjang dari array:
ExmpArray[1] = "test1" ExmpArrya[2] = "another test"
StringLength = stringVariable.length; StringLength = mydog.name.length; StringLength = "This is a string".length;
document.write("Other Links".anchor("other_links"));
Table 5. Properti-properti objek Math dan nilainya.
| Property | Description | Approx. value |
| E | Euler's constant | 2.718 |
| LN2 | Natural logarithm of 2 | 0.693 |
| LN10 | Natural logarithm of 10 | 2.302 |
| LOG2E | Base 2 logarithm of e | 1.442 |
| LOG10E | Base 10 logarithm of e | 0.434 |
| PI | Ratio of circumference to diameter | 3.14159 |
| SQRT1_2 | Square root of one-half | 0.707 |
| SQRT2 | Square root of two | 1.414 |
Contoh : <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var ran ran = Math.round(Math.random()*50000) alert("Anda adalah pengunjung yang ke " + ran + ".") // End --> </SCRIPT>
dateObjekName = new Date() dateObjekName=new Date("month day, year hours:minutes:seconds") dateObjekName=new Date(year, month, day) dateObjekName=new Date(year, month, date, hours, minutes, seconds)Membentuk suatu himpunan dari tanggal dan waktu ke tanggal dan waktu sekarang. Mengosongkan time berarti memberinya nilai nol. Karena objek Date tidak mengandung properti apa-apa, hanya ada satu format untuk metode Date:
dateObjekName.metodeName(parameters)Pengecualiaanya adalah UTC dan metode parse, yang mana adalah metode status dan pemakaiannya
Date.UTC(parameters) Date.parse(parameters)Table 6 menjelaskan nilai yang akan dikembalikan oleh berbagai perintah get.
Table 6. Memisahkan informasi dalam objek Date.
| metode Date | Nilai yang dikembalikan |
| getDate() | Day of the month |
| getDay() | Day of the week |
| getHours | Hour of the day |
| getMinutes | Minutes in the hour |
| getMonth | The month |
| getSeconds | Seconds in the minute |
| getTime | Milliseconds since 1/1/1970 |
| getTimezoneOffset | Offset between local time and GMT |
| getYear | The year |
Table 19.7. Setting informasi dalam objek Date.
| metode Date | Nilai yang sah |
| setDate(dayValue) | 1-31 |
| setHours(hoursValue) | 0-23 |
| setMinutes(minutesValue) | 0-59 |
| setMonth(monthValue) | 0-11 |
| setSeconds(secondsValue) | 0-59 |
| setTime(timeValue) | >=0 |
| setYear(yearValue) | >=1970 |
Contoh : <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var months=new Array(13); months[1]="Januari"; months[2]="Februari"; months[3]="Maret"; months[4]="April"; months[5]="Mei"; months[6]="Juni"; months[7]="Juli"; months[8]="Agustus"; months[9]="September"; months[10]="Oktober"; months[11]="Nopember"; months[12]="Desember"; var time=new Date(); var lmonth=months[time.getMonth() + 1]; var date=time.getDate(); var year=time.getYear(); if (year < 2000) // Y2K Fix, Isaac Powell year = year + 1900; document.write("<center>" + lmonth + " "); document.write(date + ", " + year + "</center>"); // End --> </SCRIPT> Hasil :Maret 17, 2012 Januari 17, 2004


Viagra Generico Fa Male <a href=http://cheapciali.com>cialis vs viagra</a> Viagra Per Diabetici
Discount Isotretinoin Online Propecia Capilar <a href=http://buyciali.com>cialis</a> Acheter Kamagra Original Amoxicillin And Epstein Barr Vendita Viagra On Line
Generic Doxycycline Pills Priligy E Levitra Propecia Hair Regrowth <a href=http://cialicheap.com>order cialis online</a> Cialis Generico Online Hydrochlorothiazide Microzide Cialis Y Aspirina