Обьяснюсь: было скучно, стало интересно разберусь ли в таком месиве.
Взял на себя труд привести код в более читабельный вид. Но тут возникла пара вопросов
var scr = {"scripts":[
{"src" : "js/libs.js", "async" : false},
{"src" : "js/common.js", "async" : false}
]};
!function(t,n,r){
"use strict";
var c=function(t){
if("[object Array]"!==Object.prototype.toString.call(t)) return!1;
for (var r=0;r<t.length;r++){
var c = n.createElement("script"), e = t[r];
c.src = e.src, c.async = e.async, n.body.appendChild(c);
}
return !0
};
t.addEventListener ? t.addEventListener(" load",function(){c(r.scripts);},!1) :
t.attachEvent ? t.attachEvent("onload",function(){c(r.scripts)}) :
t.onload=function(){
c(r.scripts)
}
};
(window,document, scr);
Что это вообще за объявление такое?
!function(t,n,r){
Почему дебаггер не детектирует ошибку синтаксиса? Если синтаксис не нарушен - как это работает? Как такую функцию вызвать?