13 Aralık 2018 Perşembe

HTML Table Tag

Giriş
table içinde thead,tbody,tfoot bulunur. Her bir alt bölüm içinde de tr ve td ile satır ve sütunlar belirtilir.

Örnek
Şöyle yaparız.
<table style="width:100%" border="1">
  <thead>
    <tr>
      <td colspan="2">
       <input class="form-control ImageClass" placeholder="" name="imageurl[]" 
        accept="image/*" id="imagedurl" type="file" onchange="ImageValidation()"
        value=""></td></tr></thead>
  <tbody id="MultiImg"></tbody>
  <tfoot>
    <tr>
      <td style="text-align:right" colspan="2"> <input type="button"  onclick="Addrow()"
        name="buttonSubmit" value="Add More" class="btn btn-success" />
      </td>
    </tr>
  </tfoot>
</table>

3 Aralık 2018 Pazartesi

Prototype

Giriş
Olmayan bir alana erişmeye çalışmak undefined döndürür.

Örnek
Örnekte length yerine lenght kullanılıyor. undefined döner. undefined ile bir başka sayının karşılaştırılması hep false döner. Yani 0 < undefined = false çıkar.
let arr = [1, 2, 3, 4];
console.log(arr.lenght) // undefined
console.log(arr.qwerty) // undefined
console.log(arr.lenght < 9999) // false
console.log(arr.lenght > 9999) // false

arr.length = 7 // <-- it's not a good idea
for(let i = 0; i < arr.length; i++) {console.log(arr[i])}

14 Kasım 2018 Çarşamba

Window Sınıfı Timer metodları

Giriş
Javascript ile her sayfa kendi başına bir uygulama gibi düşünülmeli. Sayfan çıkınca timer'da otomatik olarak durdurulur. Aynen uygulamanın sonlanması gibi. Javascript tek thread'lidir.
JavaScript is single-threaded, non-blocking, asynchronous, concurrent language.
clearInterval metodu - Periyodik Tmer İptali
Örnek
setInterval bir timer değeri döndürür.
var timer = setInterval(milisecondsToCheck, checkFunction);
Bunu şöyle iptal ederiz.
clearInterval(timer);
Örnek
Her saniye çalışan bir işi 1 dakika sonra durdurmak için şöyle yaparız.
const interval = setInterval(doWork, 1000);
setTimeout(() => clearInterval(interval), 59500);
doWork();
setInterval metodu - Periyodik Timer
Örnek
Bir değer döner. Şöyle yaparız.
let intervalId = setInterval(startTimer, 1000);
function startTimer() {
  ...
}

Örnek
Timer şöyle kurulur.
<script type='text/javascript'>
  function doSomething() { ... }
  x = setInterval(doSomething(), 60000);
</script>
Örnek
Pencere yüklenince timer başlatmak için şöyle yaparız.
<html>
<head>
  <title>...</title>
  <!-- PUT A PATH OF JQUERY LIBRARY -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
  </script>
  <script>
    window.onload = function () {
        
        setInterval(function () {
            ...
        },2000);
    }
</script>
</head>
<body>
...
</body>
</html>
setTimeout metodu - Singleshot Timer
Bir metodun verilen milisaniye sonra çağrılmasını sağlar. En basit hali şöyle.
setTimeout(function() {
  // Do something later.
}, 1000);
Başka metodu çağırmak istersek şöyle yaparız.
<script>
function myFunction() {
    setTimeout(function(){MyFunc()},100);
}
</script>

<body onload="myFunction()">
</body>
setTimeout'un ilk parametresi sadece metod ismi olmalıdır. Aşağıdaki kodda yanlışlıkla foo() metod çağrısının sonucu setTimeout'a parametre olarak geçiliyor.
function foo(){
    console.log('hello world');
}

setTimeout(foo(), 2000);
Dolayısıyla çıktı şöyle.
start -> 'hello world' displayed immediately -> wait for 2 seconds -> end
Doğru kod şöyle.
function foo(){
    console.log('hello world');
}

setTimeout(foo, 2000);
Çıktı ise beklendiği gibi.
start -> wait for 2 seconds -> 'hello world' displayed -> end