GİRİŞ
JavaScript Nedir?(What is Javascript?)
İnternetle ilgilenenler , Javascript ve java isimlerini duyunca direkt olarak
ve bilmeyen biri için gayet doğal bir şekilde ikisi arasında anlamca bir bağ
kurarlar. Konuya giriş yaparken öncelikle zihinlerde böyle bir karmaşaya
yer bırakmamak için ikisinin neden birbiriyle ilgisi olmadığını ve aslında
Javascriptin ne anlama geldiğini açıklamak gerek.
"Java" kelimesi ne anlama geliyor onunla başlayalım. Bu kelimenin
teknik olarak konuyla bir alakası yok, anlamı "kahve". Java
Endonezya'nın adalarından biri ve burada yetiştirilen kahveye de java
deniyor. Sun Microsystems'da çalışan J. Gosling javayı geliştirdiğinde
ona ilk olarak "OAK" adını vermiş ama ekip olarak bu isimde başka
bir programlama dilinin varlığını öğrendiklerinde yeni bir isim aramaya
koyulmuşlar ve ilhamları nereden geldi bilinmez ama nihayetinde geliştirdikleri
bu dile "JAVA" demişler.
Geliştirilmiş bu dil iki anlama gelir ; birincisi World Wide Web üzerinde çalışan
dağıtık uygulamalar geliştirmeyi sağlayan ,basitleştirilmiş nesneye dayalı,açık
sistem dilidir.İkincisi ise sanal bir bilgisayardır.Java Virtual Machine (Java
Sanal Makinesi) adını duymuşsunuzdur,bu sistem java tabanlı uygulamaların
donanımdan ve işletim sisteminden bağımsız olarak her yerde çalışabilmesini
sağlayacaktır.
Bütün bu heyecan verici özellikleri , geliştirildiğinde javanın bilgisayar
programcıları arasında büyük ilgiyle karşılanmasına sebep oldu. İşte
tam bu esnada Netscape firması HTML'yi dil olarak yetersiz bulması sebebiyle
geliştirdiği Livescript adlı dili Aralık 1995 yılında Javascript adıyla
piyasaya sürdü.
İşte hikaye bu ; aslında gördüğünüz gibi iki dilin birbiriyle ilgileri
yok .Ama birilerinin işlerini kolaylaştırdıkları kesin:))
Gelelim Netscape neden HTML'yi yetersiz gördü ve neden yeni bir dil geliştirme
gereği duydu?
Web sayfasında bir işlem yapmak istendiğinde bu HTML kullanılarak yapılamıyordu
ancak bir server-side script kullanarak yapılacak işlemler server üzerinde işletiliyordu.Her
kullanıcı için bu sunuculara fazla yüklen mek demekti.Sunucu yükünü
azaltmak amacıyla Netscape yeni bir düz yazı dili geliştirdi.
Peki Javascriptin IE ve Netscape de farklı yorumlanmasının sebebi nedir?
Netscape geliştirdiği bu dil konusunda bencil davrandı , paylaşmaya yanaşmadı.Microsoft
da bunun üzerine Internet Explorer'ı kendi kodlarıyla javascript uyumlu hale
getirdi ve bu dile Jscript adını verdi.Farklılıklar burdan kaynaklanıyor.İki
browser arasındaki kod yorum lama farklılıkları ayrı bir bölümde
incelenecektir.
Bir client-side aplication (istemci taraflı uygulama) olan javascript
tetikleyici işareti görünce ne yapmasını istediyseniz o uygulamayı işleme
koyacaktır.Bu yolla sayfanızdaki formlarınızın kontrolünü sağlayabilir,
sayfa nızdaki herhangi bir fonksiyonu özelleştirebilirsiniz
YAZIM KURALLARI
JavaScript
HTML'den ayrı değildir.Genelde kod içerisinde gömülüdürler.Yani
kendi başlarına çalışmazlar. Fakat siz elbette herhangi bir text
editöründe kodlarınızı yazıp bunu ".js" uzantısıyla
kaydedebilir ve daha sonra HTML kodundan çağırabilirsiniz. Js
kodları HTML içerisine şu şekilde yerleştirilirler: |
|
|
<Script
Language="Javascript">
<!--//Eski
sürüm browserlar için önlem!
Javascript kodları-->
</script>
|
|
Browser'ınızın javascripti yorumlayabilmesi için kodların <script>
---</script> etiketleri arasına yazılmış olmaları gerekir.
Sürüm belirtmezseniz her iki browser da "1.0" olarak algılar.
"//" işareti yorum satırları içindir. Bu işaretle başlayan
bir satırı Js dili görmezden gelir. Eğer yorumlarınız bir satırdan
fazla ise "/*" ile başlar "*/" ile bitirirsiniz.
Biliyorsunuz yazdığınız kodlar arasına açıklama koymak
profesyonellik belirtisidir:))Üzerinden zaman geçmiş olsa bile bu kod
ile ne yapmak istediğinizi anlayabilmek önemlidir. Kod satırlarından
sonra da gerekli olmamasına rağmen ";" kullanırsanız ,
düzeniniz açısından iyi olacağı inancındayım.
Javascript dilinin değişkenleri , metodları ve nesnelerin kullanımında
uyulması gereken bir takım kurallar var tabi ; herbir belirleyici
"_" , harf ya da bir rakamla başlamalıdır , devamında boşluk
hariç istediğiniz karakteri kullanabilirsiniz , tabi high-ASCII
karakterleri tercih etmemelisiniz (high-ASCII İngiliz alfabesinde
bulunmayan , diğer dillere özgü karakterler için kullanılıyor).
Bunun dışında javascript case-sensitive bir dildir , yani o
büyük-küçük harf ayrımına dikkat ediyor , siz de edin....
Şimdi bir grup özel kelimeden bahsetmek istiyorum. Aşağıda bir liste
göreceksiniz. Bu liste Javascript tarafından programlama ve yorumlamada
kullanılan ya da kullanılması düşünülerek ayrılmış kelimeleri
içerir. Javascript tarafından şu an kullanılıyor olanlarına Anahtar
Kelime(Keywords) diyoruz , bunlar listede farklı renkte görünmekteler.
Bu kelimelerin hepsine birden ise Ayrılmış Kelimeler (Reserved words)
denir ve bunlar değişken ,fonksiyon ,nesne veya metod adı olarak kullanılamaz.
Anahtar kelimelerin dışındakilerden kodda kullandı iseniz o satır
görmezden gelinecektir. Anahtar kelime kullandıysanız zaten program
hata verir.
AYRILMIŞ
KELİMELER
abstract(soyut) |
int(integer,tam
sayı) |
boolean(boolean
mantığı) |
interface(arayüz) |
break(kes) |
labed(etiketli) |
byte(bayt) |
long(uzun) |
case(hal) |
native(kendinden
olan) |
catch(yakala) |
new(yeni) |
char(karakter) |
null(boş
değer) |
class(sınıf) |
package(paket) |
const(sabit) |
private(özel) |
continue(devam) |
protected(korunmuş) |
default(varsayılan) |
public(genel) |
delete(sil) |
return(dön) |
do(yap) |
short(kısa) |
double(çift) |
static(sabit) |
else(başka
bir durum) |
super(kuvvet) |
extends(uzanır) |
switch(değiştir) |
false(yanlış) |
synchronized(uyumlu) |
final(sonuncu) |
this(bu) |
finally(sonunda) |
throw(içine
kat) |
float(kesirli) |
throws(içine
katar) |
for(için) |
transient(geçici) |
function(işlev) |
true(doğru) |
goto(--ya
git) |
try(dene) |
if(eğer) |
typeof(türü) |
implements(uygular) |
var(değişken) |
import(ithal
et) |
void(geçersiz) |
in(içinde) |
while(iken) |
instanceof(--nın
oluşumu) |
with(ile) |
|
|