JavaScript Notları II — Fonksiyonlar

JavaScript notlarımıza kaldığımız yerden devam ediyoruz:
37 — Fonksiyon nedir?
Fonksiyonlar belirli görevleri gerçekleştirmek için kullanılan ifadelerdir. Programın herhangi bir yerinde kullanılabilirler.
38 — Js’te ne tür fonksiyonlar bulunur?
İsmi olan fonksiyonlar (named): İfade edildiğinde bir isim verilen fonksiyonlardır.
ör:
function print() { console.log(“This is named function!!!”);}
Anonim (anonymous) fonksiyonlar: Bir ismi olmayan fonksiyonlardır.
ör:
var print=function() { console.log(“This is anonymous function!!!”);}
39 — Sık olarak kullanılan global fonksiyonlar nelerdir?
Alert()
prompt()
isNan()
eval()
isFinite()
confirm()
parseInt()
parseFloat()
escape()
unescape()
40 — “isNaN” (Not a Number) nedir?
Bir değerin bir rakam olup olmadığını belirlememize yarayan bir fonksiyondur. Eğer verilen değer rakam değil ise “isNaN” metodu “true” olarak döner. Eğer bir sayı ise “false” olarak döner.
ör:
Input: ‘213’
Output: false
Input:’hello’
Output: true
41 — “parseInt” nedir?
“parseInt” bir string’i çözen ve string içinde bulunan tamsayı (integer) değerini dönen bir fonksiyondur.
42 — “alert” nedir?
“alert()” fonksiyonu, bir mesaj kutusunda bilgi göstermek için kullanılır.
43 — “confirm” nedir?
“confirm()” fonksiyonu, iki butondan oluşan bir mesaj kutusu gösterir. Tamam ve iptal. Tamama tıkladığımızda fonksiyon “true” olarak, iptale tıkladığımızda ise “false” olarak döner.
44 — “charAt” nedir?
“charAt()” fonksiyonu belirli bir indeksten belirli bir karakteri döner. (saymaya “0” dan başlarız)
ör:
var str=”Pratik”; console.log(str.charAt(0)); Output : P
45 — “indexOf” Nedir?
Bu fonksiyon, çağrılan string objesinin ilk bulunduğu yeri döner. Eğer bulamazsa -1 döner.
ör:
var str=”This is javascript book”; console.log(str .indexOf(“javascript”)); Output: 8
46 — Fonksiyon odağı (scope) nedir?
Odak, fonksiyonun ve onun değerlerinin erişilebilirliğini ifade eder. Js’te scope iki şekilde bulunur: Global ve Lokal.
Global: Global odağı olan bir fonksiyona programın heryerinden ulaşabiliriz.
Local: Lokal odağı olan bir fonksiyona sadece onun üst (parent) fonksiyonundan ulaşabiliriz.
47 — “strict mode” nedir?
“strict mode” bazı hareketleri önler ve kural dışı bir durumu ortaya atar. (throw an exception) Bu durum Js’te daha güvenli bir özelliği ifade eder.
Strict mode, sessiz olan bazı hataları throw error olarak değiştirir. Bu mod, Js motorlarının optimizasyon yapmasını zorlaştıran bazı yanlışları çözer. Bu nedenle aynı kod, strict mode ile bazen daha hızlı çalışabilir.
Bu mod ECMAScript’in gelecek versiyonlarında belirlenebilecek olan bazı syntax’ları yasaklar. Güvenli olmayan hareketler yapıldığında, onları ya önler ya da hata verir. (global objeye olan erişimde olduğu gibi) Karmaşık olan ya da bütünüyle zayıf olan özellikleri etkisiz hale getirir. Strict mode sayesinde Js’te güvenli kod yazmak daha kolay hale gelmiştir.
Strict mode, bireysel fonksiyonlara ya da scrtipt’lerin bütününe uygulanabilir. Parantezler {} ile kapatılan blok ifadelere uygulanmaz. Bütün bir script için strict modu çalıştırmak isterseniz herhangi bir ifadeden önce “use strict” ifadesini koyunuz. Eğer bir fonksiyon için strict modu çalıştırmak isterseniz herhangi bir ifadeden önce fonksiyon bloğunun başına “use strict” ifadesini koyunuz.
48 — “function closure” nedir?
Closure, Js’te bir iç fonksiyonun dışta bulunan (enclosing function) bir fonksiyonun değişkenlerine erişmesini sağlayan bir özelliktir.
49 — “callback function” nedir ?
Başka bir fonksiyona argüman olarak geçen bir fonksiyondur. Geçtiği dış fonksiyonun içinde çalıştırılarak bir işlemi tamamlaması sağlanır.
ör:
function showName(name) {alert(‘User name is:’ + name);}function displayName(callback) {var name = prompt(‘Please enter name to be displayed’);callback(name);}displayName(showName);
50 — “setTimeout” fonksiyonu nedir?
setTimeout(), fonksiyonu belirli bir zaman aralığında çalıştırır.
setTimeout(expression, timeout);
Buradaki ifadede fonksiyon sadece bir kez çağrılır ve timeout kısmı fonksiyonu çağırmadan önce beklenecek olan milisaniyeleri ifade eder.
clearTimeout() fonksiyonu ise setTimeout() tarafından belirlenen zamanlayıcıyı etkisizleştirmek ya da iptal etmek için kullanılır.
51 — “setInterval” fonksiyonu nedir?
“setInterval()” fonksiyonu belirli bir zaman aralığından sonra çalıştırır.
setInterval(expression, timeout);
clearInterval() fonksiyonu ise “setInterval() tarafından belirlenen zamanlayıcıyı etkisizleştirmek ya da iptal etmek için kullanılır.
52 — “setInterval” ve “setTimeout” arasındaki fark nedir?
setTimeout(expression, timeout) fonksiyonu bir kez ve timeout’tan sonra çalıştırır.
(runs the function once after timeout)
setInterval(expression, timeout) ise fonksiyonu aralıklar ile tekrar ederek çalıştırır. (runs the function in intervals repeatedly, with length of timeout between them)
53 — “encodeURI()” metodu nedir?
“encodeURI()” metodu, bir Uniform Resource Identifier’ın (tekdüzen kaynak tanımlayıcı) her bir karakterini (bir, iki, üç ya da dört kaçış sekansıyla) UTF-8 encoding’i temsil eden şekilde enkode eder.
54 — “decodeURI()” metodu nedir?
decodeURI() metodu ise encodeURI() ile oluşturulan bir Uniform Resource Identifier’ı dekode eder. (kodunu çözer)
Not: Kod örneklerini tarayıcınızın web konsolunu açarak kendiniz deneyebilirsiniz. Kopyala yapıştır yaparsanız illegal character hatası alabilirsiniz. Eğer kendiniz baştan yazarsanız bu hatayı vermez.
Devamı gelecek…