window.onload = function(){
// This is function 1
// This portion will execute when window has loaded completely.
// In simple words, page has been downloaded completely.
var imageObj = new Image();
imageObj.onload = function(){
// This is function 2
// This portion will execute when image has loaded completely
});
....
....
};
imageObj.src = "yoda.jpg";
Итак, функция 1 и функция 2 будут выполняться после этой строки imageObj.src = "yoda.jpg";
Это ответ на ваш первый вопрос. Если поместить его ниже, это не значит, что он будет выполняться после функции 2. В javascript код выполняется последовательно сверху вниз, но код внутри функций будет выполняться только при вызове этой функции.
Если вы не зададите атрибут src
, изображение не будет загружено, и, таким образом, функция 2 не будет вызвана.