Temel JavaScript Eğitimi
Temeller
Giriş
JavaScript'i Çalıştırma
JavaScript'te İlk Program
Program Kodunun Analizi
Sonraki Örnekler
Komut Dosyası Dosyaları
Birden Fazla Dosya
Not
Dosya Önbelleğe Alma
Katı Mod
Yorumlar
Değişkenler
Değişkenleri Kullanma
Birden Fazla Değişken Bildirimi
Değişken Değerlerindeki Değişiklikler
Bir Değişken İçin Birden Fazla let
Sayılarla Matematiksel İşlemler
Değişkenlerle Matematiksel İşlemler
Matematiksel İşlemlerin Önceliği
Eşit Öncelik
Gruplandırma Parantezleri
Kesirler
Negatif Sayılar
Değişkenlerden Önce Artı İşareti
Bölümden Kalan
Üs Alma
Üs Alma Önceliği
Dizeler
Dize Toplama
Dize Uzunluğu
Şablon Dizeleri
Çok Satırlılık
Özel Değerler
undefined Değeri
null Değeri
true ve false Değerleri
NaN Değeri
Infinity ve -Infinity
Konsol
Konsolda Veri Türü
Konsolda Hatalar
Sabitler
Otomatik Tür Dönüşümü
Sayıya Dönüştürme
Kısa Sayıya Dönüştürme
Hatalı Sayıların Dönüştürülmesi
Sayıları Çıkarma
Dizeye Dönüştürme
Dizeye Dönüştürmenin Uygulanması
Mantıksal Tür Dönüşümü
Mantıksal Türe Dönüştürme
Dize Karakterleri
Dizelerin Değişmezliği
Dizenin Son Karakteri
Rakamlı Dizeler
Bir Sayının Rakamlarına Erişim
Değişken Değiştirme İşlemleri
JavaScript'te Kısaltılmış İşlemler
Artırım
Ön Ek ve Son Ek Türü
Hassas Olmayan Hesaplamalar
prompt Fonksiyonu
prompt'ta Türlerle İlgili Sorun
Belgeye Çıktı
Hata Bulma Pratiği
İşlemler Pratiği
Formüller Pratiği
Diziler
Dizilere Giriş
Elemanlara Erişim
Dizi Uzunluğu
Elemanları Değiştirme
Dizi Elemanlarının Yeniden Yazılması
Elemanları Artırma
Anahtarlarla Eleman Ekleme
Seyrek Diziler
Push ile Eleman Ekleme
Değişkenlerden Anahtarlar
delete Operatörü
Hata Bulma Pratiği
Nesneler
Nesnelere Giriş
Tüm Nesnenin Görüntülenmesi
Nesnelerin Dize Anahtarları
Nesne Özellikleri
Nesne Anahtarlarındaki Kısıtlamalar
Elemanları Değiştirme
Eleman Ekleme
Nesnelerin Sırasız Olması
Nesne Anahtarları Dizisi
Nesne Uzunluğu
Değişkenlerden Anahtarlar
Elemana Erişim Hatası
Özelliğe Erişim Hatası
Hesaplanan Özellikler
in Operatörü
delete Operatörü
Nesnelerin Tip Güvenliği
Nesne Olarak Diziler
Dizileri Nesnelerden Ayırt Etme
Nesneler ve İlkel Değerler
Nesnelerin Referans ile Aktarılması
Sabitler
Sabitlerle Programlama Yaklaşımı
Hata Bulma Pratiği
Koşullar
if-else Yapısı
Büyük ve Küçük Operatörleri
Eşitlik Kontrolü
Eşitsizlik Kontrolü
Değişken Karşılaştırma
String Eşitliği
String ve Sayı Eşitliği
Değer ve Tür Eşitliği
Değer ve Tür Eşitsizliği
Mantıksal VE
Mantıksal VEYA
Mantıksal Operatör Önceliği
Koşul Gruplandırma
Mantıksal İfadeleri Tersine Çevirme
Boolean Değerlerle Koşullar
Boolean Türündeki Değerlerle Karşılaştırma
Doğruluk Kontrolü için Kısa Form
Yanlışlık Kontrolü için Kısa Form
Genel Kısa Kontrol Formu
Kısa Formda Karmaşık Koşullar
else Yapısının İsteğe Bağlılığı
Küme Parantezlerinin İsteğe Bağlılığı
İsteğe Bağlı Parantez Problemi
else if Yapısı
İç İçe if-else Yapıları
switch-case Yapısı
break'in İsteğe Bağlılığı
Üçlü Operatör
Mantıksal İşlemler
confirm Fonksiyonu
Kapsam
Kapsamın Nüansları
Saatin Parçalarını Kontrol Etme
String ve Dizi Uzunluğunu Kontrol Etme
String Karakterlerini Kontrol Etme
Sayının Rakamlarını Kontrol Etme
Bölümden Kalanı Kontrol Etme
Hata Bulma Pratiği
Pratik
Döngüler
Giriş
for-of Döngüsü
for-in Döngüsü
while Döngüsü
for Döngüsü
Diziler için for Döngüsü
Döngülerde Koşullar
Sayıların Toplamının Biriktirilmesi
Elemanların Toplamının Biriktirilmesi
String Oluşturma
Sayının Rakamları
Küme Parantezlerinin İsteğe Bağlılığı
İsteğe Bağlı Parantez Problemi
break Deyimi
continue Deyimi
İç İçe Döngüler
Kapsam
İç İçe Döngüler ve Kapsam
Dizileri Doldurma
Dizileri Değiştirme
Nesneleri Doldurma
Nesneleri Değiştirme
Bayraklarla Çalışma
Kod Yazma İpuçları
Kod Hata Ayıklama İpuçları
Hata Bulma Pratiği
Pratik
Çok Boyutluluk
Çok Boyutlu Diziler
Üç Boyutlu Dizi
Rastgele Diziler
Çok Boyutlu Dizilerde Gezinme
Normal for Döngüsü ile Gezinme
Çok Boyutlu Dizileri Doldurma
Çok Boyutlu Dizileri Doldururken Karşılaşılan Sorunlar
Çok Boyutlu Dizileri Sırayla Doldurma
Çok Boyutlu Nesneler
Çok Boyutlu Nesnelerde Gezinme
Çok Boyutlu Yapılar
Çok Boyutlu Yapılarda Gezinme
Nesne Dizisi
Değişkenlerden Anahtarlar
Dizilere Eleman Ekleme
Nesnelere Eleman Ekleme
Standart Metotlar
Üsler
Yuvarlama Fonksiyonları
Ekstremumlar
Rastgele
Modüller
Karakter Büyük/Küçük Harf
Stringleri Kesme
Stringlerde Arama
Stringlerde Değiştirme
Stringleri Bölme
Uç Elemanlar
Dizilerin Parçaları
Dizileri Kesme
Dizilerde Arama
Nesne Anahtarları
Hata Bulma Pratiği
Kullanıcı Tanımlı Fonksiyonlar
Giriş
Fonksiyon Parametreleri
Birden Fazla Parametre
Değişken Parametreler
İsteğe Bağlı Parametreler
return Deyimi
Fonksiyonların Sıralı Çağrılması
return'un İnce Noktası
Döngü ve return
return'un Döngülerde Uygulanması
return ile Çalışma Yöntemi
Fonksiyonlarda Bayraklar
Fonksiyonlarda Mantıksal Operatörler
Fonksiyonlarla İlgili Tavsiyeler
Hata Bulma Pratiği
Fonksiyonlar Üzerine Pratik
Fonksiyon Değişkenleri
Global Değişkenler
Yerel Değişkenler
Değişken İsimlerinin Çakışması
Global Değişkenleri Değiştirme
Global Değişkenler ve Fonksiyon Parametreleri
Parametre İsimleriyle Çakışma
Nesne Parametreleri
Fonksiyon Türleri
Fonksiyonun kaynak kodu ve sonucu
Fonksiyon değişken olarak
Fonksiyonu başka bir değişkene yazma
Fonksiyonların değişkenlere atanması
Fonksiyon adı ve değişken adının aynı olması
Tanımlama türleri
Fonksiyon tanımlama farkları
Fonksiyon tanımlamalarında noktalı virgül
Fonksiyon ifadelerinin nüansları
İsimli ama Fonksiyon İfadesi olan fonksiyon
İsimlendirilmiş fonksiyon ifadeleri
Fonksiyon türü nasıl kontrol edilir
Soldaki ifade
Sağdaki ifade
Fonksiyonlarla dizi
Fonksiyonlarla nesne
Fonksiyonlu nesnenin uygulanması
İç İçe Fonksiyonlar
Fonksiyonların Parametre Olarak Aktarılması
İsimlendirilmiş Fonksiyonlar
İletilen Fonksiyonların Parametreleri
Sayının Parametre Olarak Aktarılması
Uygulama
İç Fonksiyonlar
İç İçe Fonksiyonlarda Kapsam
Dış Fonksiyonun Parametreleri
Dış ve İç Fonksiyonların Parametreleri
Aynı İsimli Parametreler
Fonksiyon Döndüren Fonksiyon
Herhangi bir İç İçelik Seviyesi
Döndürülen Fonksiyonun Parametreleri
Geri Çağırım Fonksiyonları
Geri Çağırımların Nüansları
Ok Fonksiyonlar
Ok Fonksiyonların Uygulanması
çeviri ile senkronize
Kapanışlar
Dış Değişkenlere Erişim
Fonksiyonların Sözlü Ortamı
Sözlü Ortamın Uygulanması
Kapanışlara Giriş
Kapanışlarla Sayaç
Yerel Değişken Nüansı
Global Değişken Nüansı
IIFE
Fonksiyonun Tanımlandığı Yerde Çağrılması
Fonksiyonun Değişkene Atanması
Fonksiyonun Tanımlandığı Yerde Çağrılmasının Uygulanması
Yuvarlak Parantezler
Parametreler
Çoklu Çağrılar
Tuzaklar
Koruyucu Noktalı Virgül
Closure'lar ve IIFE
Rekürsyon
Giriş
Parametre ile Örnek
Rekürsyon ile Dizi Elemanlarının Toplamı
Çok Boyutlu Yapılar
Dizi Elemanlarının Toplamı
Yapılarla Manipülasyonlar
Yineleyen Metotlar
map Metodu
forEach Metodu
filter Metodu
every Metodu
some Metodu
find Metodu
çeviri, görevler
reduce Metodu
çeviri, görevler
Spread operatörü
Giriş
Daha karmaşık örnekler
Dizinin uç değerleri
Dizileri birleştirme
Stringleri ayırma
Sayıları ayırma
Rest operatörü
Yapısal Ayrıştırma (Destructuring)
Dizilerin Yapısal Ayrıştırılması
Fonksiyondan Dizi
Dizi Elemanlarının Atlanması
Dizide Fazladan Değerler
Dizinin Geri Kalanı
Diziler için Varsayılan Değerler
Diziler için Varsayılan Fonksiyonlar
Diziler için Değişken Bildirimi
Nesnelerin Yapısal Ayrıştırılması
Nesneler için Değişken İsimleri
Nesneler için Varsayılan Değerler
Nesneler için Değişkenler ve Varsayılan Değerler
Nesneler için Değişken Bildirimi
Fonksiyon Parametreleri
Fonksiyon Parametre Nesnelerinin Yapısal Ayrıştırılması
Zaman
Date Nesnesi ile Çalışma
Biçimlendirme
Tarih Formatını Değiştirme
Haftanın Gününü Alma
Tarihi Kelime Olarak Çıktılama
Zamanı Ayarlama
Timestamp Formatı
Timestamp'ler Arasındaki Fark
Tarih Nesneleri Arasındaki Fark
Tarihlerin Otomatik Düzeltilmesi
Ayın Son Gününü Bulma
Artık Yıl Belirleme
Doğruluk Kontrolü
Mevcut Yılın Gününü Alma
Sonraki veya Önceki Ayın Günü
Sonraki veya Önceki Yılın Günü
Anlar Arasındaki Fark
Günün Zaman Anı
Günün Başlangıcı
Günün Sonu
Zaman Anlarının Döngüsel Kontrolü
Zaman Anlarını Alma Pratiği
String Karşılaştırma
Yılsız Tarih Karşılaştırma
Tarihin Bir Aralığa Düşmesi
Tarih Nesnelerini Karşılaştırma
DOM'a Giriş
Giriş
DOM Elemanları
DOM Elemanlarını Elde Etme
Karmaşık DOM Elemanı Seçicileri
Olay İşleyicilerini Bağlama
İsimlendirilmiş Olay İşleyicileri
Elemanlara Tek İşleyici
Bir Olayın İşleyicileri
Farklı Olayların İşleyicileri
Elemanın Metni
Elemanın HTML Kodu
Özellik Olarak Etiket Nitelikleri
Metin Alanlarıyla Çalışma
Metin Alanlarının Odaklanması
İstisna Nitelikler
Metot ve Özellik Zincirleri
Zincirlerin Avantajları ve Dezavantajları
this Nesnesi
this'in Avantajı
Eleman Grubu Elde Etme
Döngüde İsimlendirilmiş İşleyiciler
Döngüde Anonim İşleyiciler
Olay İşleyicilerini Çözme
Döngüde İşleyicileri Çözme
Anonim İşleyicileri Çözme
Kod Yazma İpuçları
Hata Bulma Pratiği
Pratik Çalışma
Nitelikler
Nitelik Alma Metodu
Nitelik Belirleme Metodu
Nitelik Kaldırma Metodu
Nitelik Kontrol Metodu
Özel Nitelikler
Tireli Nitelik İsimleri
Niteliklere Metotlar Üzerinden Erişim
CSS Sınıfları Dizisi
CSS Sınıfları Ekleme
CSS Sınıfları Kaldırma
CSS Sınıfları Kontrol Etme
CSS Sınıfları Açma/Kapama
Stilizasyon
style özniteliği ile stilizasyon
Tireli özelliklerle stilizasyon
Element stilizasyonunda istisna
CSS sınıfları ile stilizasyon
CSS sınıfları ile stilizasyonun avantajı
Stilizasyonu uygulama
Arama
Elementlerin Alt Öğelerini Bulma
Elementlerin Ebeveynlerini Bulma
Elementlerin Tüm Ebeveynlerini Arama
Elementlerin Komşularını Arama
Elementi id'ye Göre Arama
Elementi Etiket Adına Göre Arama
Elementi Sınıf Adına Göre Arama
Elementin İçinde Arama
Düğümler
Formlar
Textarea ile Çalışma
Elementleri Devre Dışı Bırakma
Checkbox'larla Çalışma
Değersiz Nitelik Değişimi
Radyo Düğmeleriyle Çalışma
Change Olayı
Input Olayı
Focus ve Blur Metotları
Hata Bulma Pratiği
Açılır Listeler
Açılır listelerle çalışma
Açılır listelerde value niteliği
Listede seçilen öğenin değiştirilmesi
Listede seçilen öğenin numarası
Açılır liste öğelerinin elde edilmesi
Öğeler dizi olarak
Açılır liste öğeleriyle çalışma
Liste öğesinin seçilmesi
Seçilen öğenin elde edilmesi
Event Nesnesi
Event Nesnesiyle Çalışmanın Temelleri
Olay Koordinatları
Olay Türü
Olay Öğesi
Basılan Tuşların Alınması
Değiştirici Tuşların İzlenmesi
Varsayılan Eylemin İptali
Olay Kabarcıklanması (Bubbling)
Kabarcıklanmada Hedef Öğe
Olay Kabarcıklanmasının Durdurulması
Öğede Birden Fazla İşleyici
Kabarcıklanmanın Anında Durdurulması
Olay Kabarcıklanmasını Durdurmanın Uygulanması
Olay Yakalama (Capturing)
Yeni Öğelere İşleyiciler
Olay Temsilciliği (Delegation)
Evrensel Olay Temsilciliği
Bağlam
Bağlamla Çalışmanın Temelleri
Bağlanmamış Fonksiyon Bağlamı
Bağlam Kaybı
Bağlam Problemini Çözme
Değişken ile Çözüm
Parametre ile Çözüm
Ok Fonksiyonu ile Çözüm
call Metodu
Parametreli call Metodu
apply Metodu
bind Metodu
Zamanlayıcılar
Zamanlayıcıyı Başlatma
Zamanlayıcı ile Sayaç
Zamanlayıcıyı Durdurma
Başlatma Düğmeleri
Çoklu Başlatma
Durdurma Düğmeleri
DOM ile Çalışma
Zamanlayıcılar ve Bağlam Kaybı
Zamanlayıcılar ve DOM Üzerine Pratik
Yürütmeden Önce Gecikme
Gecikmeli Zamanlayıcı
Eleman Manipülasyonu
Eleman Oluşturma ve Ekleme
Ekleme Sırasında Olay Bağlama
Döngüde Eleman Oluşturma
Döngüde İşleyici Bağlama
Eleman Kaldırma
Kenardan Ekleme
Önüne Ekleme
Bitişik Ekleme
Bitişik Etiket Ekleme
Eleman Klonlama
Eleman Kontrolü
Pratik
Diziden Eleman Oluşturma
ul Listeleri Oluşturma Pratiği
Tablo Oluşturma
Tabloları Sıralı Doldurma
Diziden Tablo Oluşturma
Nesne Dizisinden Tablo Oluşturma
Tabloya Satır ve Sütun Ekleme
Tablo Hücrelerini Değiştirme
Yeni Elemanları Kaldırma
Eleman Kaldırma Bağlantısı
Kaldırma Bağlantıları Oluşturma
Tekil Eleman Düzenleme
Düzenleme Sırasında Metni Gizleme
Eleman Grubunda Düzenleme
Kaldırma ve Düzenleme
Elemanları Stilize Etme
Elemanı Gizleme ve Gösterme Düğmeleri
Gösterme Düğmeli Çoklu Elemanlar
Eleman Aktifleştirme
Aktivasyon Stillerini Değiştirme
Elemanları Değiştirme Pratiği
Fonksiyonlar ve DOM
DOM elemanı ile çalışma fonksiyonları
Eleman grubu ile çalışma fonksiyonları
DOM ile çalışmak için geri arama iletimi
Geri aramaya sıra numarası iletimi
Elemanı fonksiyon parametresi olarak iletme
Eleman grubunu parametre olarak iletme
HTML tabloları oluşturma fonksiyonu
Tabloyu fonksiyondan döndürme
Diziden tablo oluşturma fonksiyonu