Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Функция - это значение

Лекция



Привет, сегодня поговорим про функция - это значение, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое функция - это значение , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend).


  1. Функция — это значение
  2. Копирование функций

В этом разделе мы познакомимся c важными особенностями функций в JavaScript, а также с тремя способами объявить функцию.

Функция — это значение

В JavaScript функция является значением, таким же как строка или число.

Объявление создает функцию и записывает ссылку на нее в переменную.

Как и любое значение, функцию можно вывести, вот так:

 

   
1 function sayHi() {
2   alert('Привет');
3 }
4  
5 alert(sayHi); // выведет код функции

 

Здесь выводится не результат работы функции sayHi() (кстати, чему он равен?.. правильно,undefined, т.к. нет return), а сама функция, т.е. ее код.

Функция — не просто значение, это объект.

В него можно даже записать свойство:

 

   
1 function sayHi() { }
2  
3 sayHi.test = 5;
4  
5 alert(sayHi.test); // 5

 

Используется эта возможность достаточно редко.

Копирование функций

Функцию можно скопировать в другую переменную.

 

   
1 function sayHi(person) {
2   alert('Привет, ' + person);
3 }
4  
5 var func = sayHi;
6  
7 alert(func); // выведет код функции

 

При этом, так как функция — это объект, то и копируется она «по ссылке».

То есть, сама функция лежит где-то в памяти, а переменная содержит «адрес», где она находится. Об этом говорит сайт https://intellect.icu . При присваивании func = sayHi копируется этот адрес, обе переменные начинают указывать на одно и то же «место в памяти», где находится функция.

После копирования ее можно вызывать:

 

   
1 function sayHi(person) {
2   alert('Привет, ' + person);
3 }
4  
5 var func = sayHi;
6  
7 func('Вася'); // выведет 'Привет, Вася'
8  
9 sayHi('Маша'); // и так по-прежнему работает: 'Привет, Маша'

 

Заметим еще раз, что обращение вида alert(func) отличается от alert( func() ). В первом случае выводится функция (ее код), во втором — эта функция вызывается, и выведен будет уже ее результат.

К сожалению, в одной статье не просто дать все знания про функция - это значение. Но я - старался. Если ты проявишь интерес к раскрытию подробностей,я обязательно напишу продолжение! Надеюсь, что теперь ты понял что такое функция - это значение и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)

Из статьи мы узнали кратко, но содержательно про функция - это значение
создано: 2014-10-07
обновлено: 2021-03-13
132443



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)

Термины: Выполнение скриптов на стороне клиента JavaScript, jqvery, JS фреймворки (Frontend)