مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

azad222

عضویت از 1394/09/24

تفسیر کدجاوا اسکریپت زیر

  • چهارشنبه 10 مهر 1398
  • 12:50
تشکر میکنم

سلام این کد بصورت مفهومی چکاری انجام میده؟

!function (t, e) {
    // alert("function (t, e)");
    alert(e);
    "use strict";
    t = t || "docReady", e = e || window;
    var i = [],
        n = !1,
        o = !1;

    function a() {
        alert("a()");
        if (!n) {
            n = !0;
            for (var t = 0; t < i.length; t++) i[t].fn.call(window, i[t].ctx);
            i = []
        }
    }

    function r() {
        alert("r()");
        "complete" === document.readyState && a()
    }
    e[t] = function (t, e) {
        alert("function (t, e)");
        if ("function" != typeof t) throw new TypeError("callback for docReady(fn) must be a function");
        n ? setTimeout(function () {
            t(e)
        }, 1) : (i.push({
            fn: t,
            ctx: e
        }), "complete" === document.readyState || !document.attachEvent && "interactive" === document.readyState ? setTimeout(a, 1) : o || (document.addEventListener ? (document.addEventListener("DOMContentLoaded", a, !1), window.addEventListener("load", a, !1)) : (document.attachEvent("onreadystatechange", r), window.attachEvent("onload", a)), o = !0))
    }
}("docReady", window)

دوسوالی که دارم اینه، اون علامت تعجب اول تعریف تابع کارش چیه و دوم اینکه ("docReady", window) که آخر تابع نوشته شده کارش چیه؟ قبل از عدد یک، علامت تعجب آمده یعنی چی؟

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • شنبه 13 مهر 1398
  • 09:14

سلام خدمت شما دوست عزیز

علامت ! قبل از یک function ، اون رو به function expression تبدیل میکنه

حالت دوم این ساختار بدین صورت هستش :

(function(){})();

علامت ! باعث میشه که expression مقدار true رو برگردونه

مقدار docready که در آخر نوشته شده برای این هستش که دستورات شما پس از اینکه صفحه به صورت کامل load شد ، اجرا بشن

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)