2016-06-10 3 views
0

В настоящее время я изучаю Javascript. Я попытался загрузить примеры кодов, где в, будет переход изображений. Некоторые из функций имеют коды, которые я не могу полностью понять.Javascript, если инструкция else в выражении функции

первая функция:

function addElementEvent(o,e,f){ 
    var of = o[e]; 
    var f2 = function(){of();f();} 
    o[e] = !is_function(of) ? f : f2; 
} 

Мне интересно, что это значение F(). Может вы, пожалуйста, помогите мне>

и вторая функция заключается в следующем:

var _loadImage = []; 
function loadImage(s,f,always_show_loading){ 
    var i_onload = function(){_loadImage[s]=true;if(f)f(s);} 
    var l = function(){if(_loadImage[s]){if(f)f(s);}else{var i=newElement('IMG');i.onload=i_onload;new function(){i.src=s;};}} 
    if(always_show_loading) setTimeout(l, typeof(always_show_loading) == 'number' ? always_show_loading : 1000); 
    else l(); 
} 

, то это LOC я не могу полностью понять, во второй функции.

вар i_onload = функция() {_ LoadImage [s] = верно, если (е) е (s);}

Это линия ярлык для если, еще заявление?

Можете ли вы объяснить смысл этого кода?

Спасибо!

+0

'вар i_onload = функция() {_ LoadImage [с] = TRUE; если (е) е (с);}' Может быть записи: 'вар i_onload = функция() { _loadImages [с ] = true; if (f) { f (s); } } ' –

+0

* Значение f() * ... hm, значение вызова функции можно рассматривать как значение, возвращаемое функцией. Поэтому, если у вас есть функция типа 'function f() {return 2;}' значение 'f()' будет '2' – devnull69

+0

Этот код выглядит так, как будто он был запущен с помощью минимизатора. Вы должны попытаться найти неузнаваемый код, если вы учитесь. Очень сложно определить, что делает код, когда все переменные переименовываются в одиночные символы. – jasonscript

ответ

0

Мне интересно, что такое значение f().

Возвращаемое значение звонка f зависит от того, что f есть.

f является третьим аргументом функции.

Поскольку вы не показали нам, как вызывается функция, мы не можем сказать вам, что делает f.

Эта строка является ярлыком для выражения if, else?

Нет. Это выражение функции, которое включает оператор if. В этом нет ничего.

var i_onload = function(){ 
    _loadImage[s] = true; 
    if(f) { 
     f(s); 
    } 
}; 
+0

На самом деле я получил код в этой ссылке http://www.devtrix.net/sliderman/download.html, с именем файла demo2. Надеюсь, вы не против, но можете ли вы проверить код, так как я хочу показать вам, как вызывается функция, но не знаете, как это сделать. Спасибо! – user010594

Смежные вопросы