Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
Katılım
7 Nis 2025
Konular
367
Mesajlar
780
Çözümler
1
Tepkime puanı
121
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Hazır Kod Bankası - Konu 8: JavaScript Temelleri



Hazır Kod Bankası Serimizin Sekizinci Konusu: JavaScript!

Merhaba arkadaşlar! HTML ile yapı, CSS ile görünüm kazandırdığımız web sayfalarımızı daha canlı, dinamik ve kullanıcı etkileşimli hale getirme zamanı! İşte burada web'in üçüncü temel taşı devreye giriyor: JavaScript (JS).

JavaScript, genellikle web tarayıcılarında çalışan (client-side) bir betik dilidir. Kullanıcının tarayıcısında çalışarak web sayfasının içeriğini, görünümünü ve davranışını kullanıcı etkileşimlerine (tıklama, fare hareketleri vb.) göre değiştirebilir. Sayfayı yeniden yüklemeye gerek kalmadan interaktif öğeler (açılır menüler, slayt gösterileri, form doğrulama, basit oyunlar) oluşturmak için kullanılır.

Önceki konumuz PHP, sunucu tarafında çalışıp sayfayı oluştururken, JavaScript sayfa kullanıcıya ulaştıktan sonra tarayıcıda çalışır. HTML, CSS ve JavaScript üçlüsü modern front-end (kullanıcı arayüzü) web geliştirmenin temelini oluşturur.

(Not: JavaScript ayrıca Node.js ile sunucu tarafında da çalıştırılabilir, ancak bu konuda tarayıcı tarafındaki kullanımına odaklanacağız.)

Bu konuda JavaScript'in temel sözdizimini, bir HTML sayfasına nasıl eklendiğini, değişkenleri, temel işlemleri ve sayfa elementleriyle (DOM - Document Object Model) nasıl etkileşime girebileceğini göreceğiz.

1. JavaScript Nedir ve Neden Kullanılır?

  • İnteraktiflik: Sayfaya dinamik içerikler (saat, sayaç), animasyonlar ve kullanıcı eylemlerine tepkiler ekleme.
  • DOM Manipülasyonu: HTML elementlerini JavaScript ile seçme, içeriklerini, özelliklerini veya stillerini değiştirme, yeni elementler ekleme veya silme.
  • Asenkron İşlemler: Sayfayı yeniden yüklemeden sunucuya istek gönderip veri alabilme (AJAX - Modern geliştirme için çok önemlidir).
  • Form Doğrulama: Form verilerini sunucuya göndermeden önce tarayıcıda kontrol etme.
  • Oyun Geliştirme: Basit tarayıcı tabanlı oyunlar yazma.
Sadece bir tarayıcıya (Chrome, Firefox, Edge vb.) ve bir metin düzenleyiciye sahip olarak JavaScript kodları yazıp çalıştırmaya başlayabilirsiniz.

2. JavaScript Kodu Nasıl Eklenir?

JavaScript kodları, HTML dosyası içine `<script>` etiketleri kullanılarak eklenir. Üç ana yolu vardır:

  • Dahili (Internal) JavaScript: HTML dosyasının `<head>` veya `<body>` bölümündeki `<script>` etiketleri arasına yazılır.
    HTML:
        <head>
            <script>
                // JavaScript kodları buraya yazılır
                alert("Merhaba JavaScript!");
            </script>
        </head>
  • Harici (External) JavaScript: JavaScript kodları `.js` uzantılı ayrı bir dosyaya yazılır ve HTML dosyasında `<script src="dosya_adi.js"></script>` şeklinde bu dosyaya bağlantı verilir. Büyük projeler için en iyi yöntem budur. Kodlar daha düzenli olur ve farklı HTML sayfalarında aynı kod kullanılabilir.
    HTML:
        <head>
            <script src="script.js"></script> </head>
  • Satır İçi (Inline) JavaScript: Doğrudan HTML etiketlerinin event (olay) özelliklerine yazılır (örn: `onclick`). Küçük ve basit işlemler dışında kullanımı önerilmez.
    HTML:
        <button onclick="alert('Butona Tıklandı!')">Tıkla</button>
Not: `<script>` etiketlerini HTML dosyasının en sonuna, kapanış `</body>` etiketinden hemen önce yerleştirmek, sayfanın yüklenme hızını artırmak için yaygın bir pratiktir.

3. Temel Sözdizimi ve Değişkenler

  • Noktalı Virgül (;): Her komutun sonuna noktalı virgül konulması iyi bir pratiktir, ancak bazı durumlarda zorunlu değildir (otomatik eklenir). Yine de yeni başlayanlar için eklemek tutarlılık sağlar.
  • Yorum Satırları: `//` (tek satır) veya `/* ... */` (çok satır) kullanılır.
  • Büyük/Küçük Harf Duyarlılığı: JavaScript büyük/küçük harf duyarlıdır (`degisken` ile `Degisken` farklıdır).
  • Değişkenler: Veri saklamak için kullanılır. Modern JavaScript'te `let` ve `const` kullanılır. `var` eski kullanımdır. JavaScript dinamik tiplidir (değişkenin tipini belirtmenize gerek yoktur).
    [JAVASCRIPT]
    let ad = "Mehmet"; // Metin (String) değişken
    const yas = 30; // Sayı (Number) değişken (değeri sonradan değiştirilemez)
    let aktifMi = true; // Mantıksal (Boolean) değişken

    let sayi1 = 10;
    let sayi2 = 5;
    let toplam = sayi1 + sayi2; // İşlemler yapılabilir
    [/JAVASCRIPT]
    Açıklama: `let` ile tanımlanan değişkenin değeri sonradan değiştirilebilir, `const` ile tanımlananın değeri değiştirilemez. `var` eski tip değişken tanımıdır.

4. Çıktı Alma Yöntemleri

JavaScript kodunuzun çıktısını veya hata ayıklama bilgilerini görmek için farklı yöntemler vardır:

  • `console.log()`: Geliştirici konsoluna (tarayıcınızın F12 ile açılan konsol sekmesi) çıktı verir. Kod yazarken hata ayıklamak için en sık kullanılan yöntemdir.
    [JAVASCRIPT]
    console.log("Bu konsola yazılır.");
    console.log(toplam); // Değişkenlerin değerini de yazdırabilirsiniz
    [/JAVASCRIPT]
  • `alert()`: Kullanıcıya küçük bir bilgi penceresi (pop-up) gösterir. Kullanımı sınırlıdır çünkü kullanıcı etkileşimi bekler.
    [JAVASCRIPT]
    alert("Sayfaya hoş geldiniz!");
    [/JAVASCRIPT]
  • HTML İçeriğini Değiştirme: HTML elementlerinin içeriğini JavaScript ile değiştirebilirsiniz (DOM manipülasyonu).
    [JAVASCRIPT]
    // ID'si 'mesaj' olan bir HTML elementinin içeriğini değiştirme
    document.getElementById("mesaj").innerHTML = "Yeni içerik burada!";
    [/JAVASCRIPT]
    Açıklama: `document.getElementById()` ile HTML elementini seçeriz. `.innerHTML` o elementin içeriğini temsil eder.

5. Operatörler, Kontrol Akışları ve Fonksiyonlar (Temel)

Diğer dillerde olduğu gibi JavaScript'te de matematiksel, karşılaştırma, mantıksal operatörler ve kodun akışını kontrol eden yapılar (if/else, döngüler) bulunur. Kodları belirli görevler için gruplamak üzere fonksiyonlar tanımlanır.

  • Karşılaştırma Operatörleri: `==` (eşittir, tip kontrolü yapmaz), `===` (kesin eşittir, tip kontrolü yapar - önerilir), `!=` (eşit değildir), `!==` (kesin eşit değildir), `>`, `<`, `>=`, `<=`. Sonuç her zaman `true` veya `false` (Boolean) olur.
    [JAVASCRIPT]
    let x = 5;
    let y = "5";
    console.log(x == y); // true döner (değerler eşit)
    console.log(x === y); // false döner (tipler farklı: number vs string)
    [/JAVASCRIPT]
  • Kontrol Akışları (if/else): Belirli bir koşula göre farklı kod bloklarını çalıştırma.
    [JAVASCRIPT]
    let saat = 20;
    if (saat < 18) {
    console.log("İyi günler!");
    } else {
    console.log("İyi akşamlar!");
    }
    [/JAVASCRIPT]
  • Döngüler (for): Bir kod bloğunu belirli sayıda tekrarlama.
    [JAVASCRIPT]
    for (let i = 0; i < 5; i++) {
    console.log("Döngü Sayısı: " + i); // 0'dan 4'e kadar yazar
    }
    [/JAVASCRIPT]
  • Fonksiyonlar: Belirli bir görevi yerine getiren yeniden kullanılabilir kod blokları.
    [JAVASCRIPT]
    function selamVer(isim) {
    return "Merhaba, " + isim + "!"; // Geriye değer döndürür
    }

    let mesaj = selamVer("Ali"); // Fonksiyonu çağırma
    console.log(mesaj); // Çıktı: Merhaba, Ali!
    [/JAVASCRIPT]

6. DOM (Document Object Model) ile Etkileşim Örneği

HTML elementlerine JavaScript ile erişip onları değiştirmek (DOM manipülasyonu) en temel JavaScript yeteneklerindendir.

İşte basit bir örnek: Bir buton tıklandığında, altındaki bir paragrafın metnini değiştirelim.

index.html Dosyası:

HTML:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>JavaScript DOM Örneği</title>
</head>
<body>

    <h1>JavaScript DOM İle Değişiklik</h1>

    <p id="metinParagrafi">Bu metin değiştirilecek.</p>

    <button onclick="metniDegistir()">Metni Değiştir</button>

    [B]<script>[/B]
        [B]// JavaScript kodu buraya[/B]
        [B]function metniDegistir() {[/B]
            [B]// ID'si 'metinParagrafi' olan elementi bul[/B]
            [B]let paragraf = document.getElementById("metinParagrafi");[/B]

            [B]// Paragrafın içeriğini değiştir[/B]
            [B]paragraf.innerHTML = "Metin [B]JavaScript[/B] ile [B]değiştirildi[/B]!";[/B]

            [B]// İsteğe bağlı: Stiilini de değiştirelim[/B]
            [B]paragraf.style.color = "blue";[/B]
            [B]paragraf.style.fontWeight = "bold";[/B]
        [B]}[/B]
    [B]</script>[/B]

</body>
</html>
Bu kodu bir metin düzenleyiciye yapıştırın, "index.html" olarak kaydedin ve tarayıcınızda açın. Butona tıkladığınızda paragraf metninin ve stilinin değiştiğini göreceksiniz.

Sıra Sizde!

HTML içine JavaScript kodu eklemeyi denediniz mi? `console.log()` ile çıktıları kontrol ettiniz mi? `let`, `const` kullanarak değişkenler tanımlayıp değer atamayı denediniz mi? Yukarıdaki DOM örneğini çalıştırıp üzerinde değişiklikler yapmayı denediniz mi? (Örn: Başka bir elementi değiştirmek, farklı stiller uygulamak).

JavaScript sözdizimi, değişkenler, fonksiyonlar veya DOM etkileşimi hakkında aklınıza takılan soruları bu konu altında sorabilirsiniz.

Serinin Geleceği?

JavaScript ile web sayfalarına hayat vermeye başladık. Seriyi buradan sonra nasıl devam ettirelim?

  • JavaScript'te daha ileri konular (Olay Dinleyicileri, Asenkron JS, Fetch API, Diziler, Objeler)?
  • Popüler JavaScript Kütüphane/Frameworklerine Giriş (React, Vue, Angular)?
  • Python gibi popüler başka bir dile giriş?
  • Veya başka önerileriniz mi var?
Geri bildirimleriniz ve önerileriniz serinin geleceğini şekillendirecektir.

Umarım bu konu JavaScript'e güzel bir başlangıç olmuştur. Görüşmek üzere!



Bu konu, "Hazır Kod Bankası" serisinin sekizinci parçasıdır ve "Yazılım Bilgi ve Yeni Başlayanlar İçin" kategorisi altında paylaşılmıştır.
 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri