<script type="text/javascript">
	function ajaxFunction()
	{
		var xmlHttp;
		try
		{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
	}
	</script>

Taken from here.

Title I have stolen from here.

Here is my example. This example will return five times five:

for (var i=0; i < 5; i++) {
	setTimeout(function () {
    console.log(i)
  }, i*1000)
}

And this example will return 0, 1, 2, 3, 4:

var aa = function (a) {setTimeout(function () {
    console.log(a)
  }, i*1000)};
  
for (var i=0; i < 5; i++) {
	aa(i);
}

 

One example of swiping with old version of swiper.

HTML:

<div class="swiper-container">
	<div class="swiper-wrapper">
		<div class="swiper-slide">
			Test slide one
		</div>
		<div class="swiper-slide">
			Test slide two
		</div>
		<div class="swiper-slide">
			Test slide three
		</div>
	</div>
</div>

JS:

$('.swiper-container').swiper({
    grabCursor: true
});

Live example you can see here.

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript" src="/jquery-2.1.4.js"></script>
    <script type="text/javascript" src="/index.js" defer></script>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

    <div id="withoutPromise">
        <b>Example without promise:<p/></b>
    </div>

    <div id="withJqueryPromise">
        <b>Example with jQuery promise:<p/></b>
    </div>

    <div id="pureJavaScriptPromiseWithoutJquery">
        <b>Example with pure JavaScript promise (without jQuery):<p/></b>
    </div>

</body>
</html>

JS:

/*global console, $, XMLHttpRequest*/
(function () {
    "use strict";

    function fillResult(id, data) {
        $.each(data, function (key, val) {
            $(id).append("key: " + key + "<br/>value: " + val + "<p/>");
        });
    }

    function fillPromiseResult(data) {
        $.each(JSON.parse(data), function (key, val) {
            $('#pureJavaScriptPromiseWithoutJquery').append("key: " + key + "<br/>value: " + val + "<p/>");
        });
    }

    $.getJSON("index.json", function (data) {
        fillResult("#withoutPromise", data);
    });

    $.getJSON("index.json").done(function (data) {
        fillResult("#withJqueryPromise", data);
    });

    function makeRequest() {
        return new Promise(function (resolve, reject) {
            var myJson = new XMLHttpRequest();
            myJson.open("GET", "http://localhost:63342/promiseExample/index.json");

            myJson.onload = function () {
                if (this.status >= 200 && this.status < 300) {
                    resolve(myJson.response);
                } else {
                    reject(this.statusText);
                }
            };

            myJson.send();

        });
    }

    makeRequest().then(fillPromiseResult, function (errorMsg) {
        $("#pureJavaScriptPromiseWithoutJquery").append(errorMsg);
    }).catch(function (err) {
        console.log("Error: " + err);
    });
}());

JSON:

{
  "first": "first test",
  "second": "second test",
  "nested test": [
    {"first nest": "nest one"},
    {"second nest": "nest two"}
  ]
}

Mostly I was using this example. Notice that it seems that resolve method of promise can accept only one parameter, that is why I needed to create function special for promise. Example download from here.