slogin.info

ihc 468x60 1 1
Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна0 / 5
 
Автор: Администратор
Просмотров: 492
Теги: javascript, function, функция, метод, method

Функции - одна из основных концепций языка JavaScript. При этом есть кардинальное отличие от многих языков программирования, в JS каждая функция сама по себе является объектом, а соответственно и манипулировать с ней можно разными способами:

  • Передавать в качестве аргумента и возвращать из других функций.
  • Создавать анонимные функции и присваивать в качестве значений переменных или свойств объектов.

Функция в JavaScript - специализированный тип объекта, позволяющий описать логику работы по обработке данных.

Объявление функции

Как и любой объект, перед использованием необходимо объявить функции, то есть выполнить два шага:

  1. Дать имя функции. В том числе задать список входных параметров.
  2. Определить логику работы функции.

Объявить функции можно тремя разными способами:

Декларативный способ

В этом способе для объявления используется следующий синтаксис:

function идентификатор(параметры) {

  логика работы

  return выражение/объект

}

Здесь

  • fucntion - ключевое слово;
  • идентификатор - обязательное название функции;
  • параметры - не обязательный перечень передаваемых в функцию параметров;
  • логика работы - описание самих процессов, выполняемых функцией;
  • return - ключевое слово, объявляющее после себя, что вернет функция;
  • выражение/объект - то, что возвращает функция, это может быть другая переменная, результат вычислений и т.д.

Рассмотрим простой пример:

function sum(number) {

  number = number * number;

  return number + number;

}

var result = sum(3);
alert(result); // 18

В данном примере мы объявили функцию sum, которой передается при вызове какое-то число, после чего находится квадрат этого числа и к нему прибавляется оно же само, полученное значение возвращается.

Функциональный способ

В этом случае смысл будет понятен только тем людям, которые уже сталкивались с функциональным программированием. Если говорить очень просто и грубо - объявляется анонимная функция и присваивается переменной. Рассмотрим синтаксис:

var идентификатор = function(параметры) {

  логика работы

  return выражение/объект

}

Основное отличие от предыдущего тут, как уже упоминалось выше - название функции вынесено, как отдельная переменная и сама функция анонимна (не обязательно).

Рассмотрим аналогичный пример, который видели в декларативном способе:

var sum = function(number) {

  number = number * number;

  return number + number;

}

var result = sum(3);
alert(result); // 18

Такой способ в некоторых случаях может быть более удобен.

Способ ООП (Объектно-ориентированное программирование)

Беря во внимание то, что функция в Javascript является объектом, то можно создавать её экземпляры с помощью оператора new, однако следует понимать, что каждый раз будет создаваться новый экземпляр, а это плохо влияет на использование памяти.

Как и в ООП, функции можно определять внутри классов и потом обращаться к ним, как к Методам этого класса. Вдаваться в теорию ООП мы сейчас не будем, а просто покажем пример такого объявления:

class Human {
	
  constructor(start) {
  	this.start = start;
  }
  
  hello(name) {
  	return this.start + ", " + name;
  }
}

var petr = new Human("Привет");
alert(petr.hello("Пётр")); // Привет, Пётр

Тут мы создаем класс Human, в нем определяем конструктор, который автоматически вызовется, когда мы объявим экземпляр класса, а также метод(функцию) hello, которая будет собирать строчку из того, что мы передали в конструктор и в этот метод. Результатом будет всплывающее окно с текстом "Привет, Пётр".

Некоторые из вас спросят, а что такое за this в этом коде. Это специальное слово в JS, которое позволяет указывать классу самому на себя. По сути своей по мимо двух методов мы так же создали внутри класса переменную start и присвоили ей значение во время инициализации объекта класса.


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

Добавить комментарий

Авторизоваться с помощью:

     


Защитный код
Обновить

Поиск по сайту

Топ 10 активных пользователей

  • Имя пользователя Баллы
  • gawk
    44.20
  • hr@proovelab
    15.00
  • Akyla58
    3.00
  • AnnaOl
    3.00
  • ErcardSa
    3.00
  • Galinamuh
    3.00
  • Hozephlof
    3.00
  • JesseBLamurb
    3.00
  • Lambadacit
    3.00
  • LiStudio16
    3.00
 

Рекламные ссылки

IHC

Пожертвования

icon donate

Yandex.Money: 410011571748395

Webmoney:

R362907776401 (Рубли)

Z410919458006 (Доллары)

ihc 468x60 1 1

Похожие материалы

Языки программирования сайтов

Приветствую всех посетителей моего сайта. В этой статья я расскажу вам о языках программирования, которые нужны для управления, созданий и разработки своего сайта.

Теги:

css, html, javascript, php, веб

Комментариев: 0 Подробнее
Как подключить на свой сайт jQuery

Для многих новичков в создании сайтов непонятно, что же такое JQuery, хоть они и постоянно слышат о нем и даже возможно пользовались.

Как мы знаем есть язык JavaScript, который позволяет работать динамически с элементами на странице и делать страницу более привлекательной.

Теги:

javascript, jQuery, google, jquery.min

Комментариев: 0 Подробнее
Ajax-форма обратной связи на JQuery

В этой статье мы расскажем о том, как сделать форму с ajax-запросом, при помощи библиотеки jQuery. Другими словами, чтобы страница не перезагружалась, при отправке данных через форму.

Теги:

javascript, form, jQuery, ajax, onclick

Комментариев: 0 Подробнее
Увеличение изображения при нажатии на него.

В этой статье мы расскажем о том, как сделать модальное окно с увеличенным изображением.

Теги:

javascript, img, jQuery

Комментариев: 0 Подробнее

Последнее с форума

форма на DataLife Engine 1 день 8 ч. назад
synt аватар
Здравствуйте! Подскажите модуль или решение для создания сложных форм с капчей и возможностью задава...
Перейти в тему
Frontend Разработчик, Москва 1 мес. 3 нед. назад
porohinaio@mail.ru аватар
INMYROOM это контентный проект про интерьеры и маркетплейс дизайнерской мебели с посещаемостью более...
Перейти в тему
anzhelika_bell аватар
Обязанности: Верстка web-интерфейсов по готовым макетам, исправление дефектов верстки. Требования: ...
Перейти в тему

Последние статьи

Javascript функции

Функции - одна из основных концепций языка JavaScript. При этом есть кардинальное отличие от многих языков программирования, в JS каждая функция сама по себе является объектом, а соответственно и манипулировать с ней можно разными способами:

Ссылка на телефон

В этой статье мы рассмотрим простой и обычный способ создания ссылки на телефон.

CPA сети 30.01.2017
CPA сети

Сегодня мы подробно рассмотрим тему зарабатка на своих проектах (т.е. это не обязательно сайты) при помощи CPA сетей.