Показать сообщение отдельно
  #13 (permalink)  
Старый 24.09.2014, 13:03
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

почитайте про переменные, как они устроены.

вот смотрите:
var a = 1;//есть переменная а
console.log(a); //если вывести переменную в консоль, то там высветиться 1, думаю понятно почему.. переменная равна единице


var str = 'stroka';//переменная типа string, т.е. строка
console.log(str);//выведем в консоль, получим результат stroka


теперь возьмем массив:
var ar = [4, 7, 5];
console.log(ar[0]); //выведем 0-ой элемент массива, получим 4
console.log(ar); //выведем весь массив


возьмем функцию:
function fn() {
alert('fn!');
}

fn(); //вызовем ее. в алерт выпадет fn!
console.log(fn);//теперь выведем fn в консоль, ведь fn - это тоже переменная, как и a, str, ar. только она хранит не число, строку, массив а хранит она функцию


теперь возьмем еще одну функцию
function mfn(a){
console.log(a); //а равняется четырем, т.к. передали мы именно 4
return 5 + a; //функция может возвращать значения a + 5 (a равняется 4), то результат будет  9
}

var res = mfn(4);//в функцию мы передаем параметр 4. результат выполнения функции равен 9
console.log(res);



теперь возьмем еще одну функцию:
function ffn(){
//внутри функции ffn мы создаем еще одну функцию, назовем ее myfn
  function myfn(){
    alert(1);
  }
console.log(myfn); //попробуем вывести ...
return myfn;//а теперь отдадим результат. т.е. мы отдали переменную myfn, в которой хранится функция
}

var res = ffn(); //вызовем функцию ffn и результатом выполнения этой функции будет другая функция, а именно myfn. сохраним результат в переменную res
console.log(res); //выведем значение res
res(); //т.к. res это функция, то можем ее вызвать ..

Последний раз редактировалось skrudjmakdak, 24.09.2014 в 13:10.
Ответить с цитированием