Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки по JavaScript, в которой уже были следующие публикации: типы данных JavaScriptчисла JavaScriptстроки JavaScriptвставка JavaScript в HTMLJavaScript операторы (void JavaScript, delete JavaScript, typeof JavaScript, new JavaScript), преобразование число в строку JavaScript и строку в число JavaScriptлогические значения false и true JavaScriptсинтаксис JavaScript и лексическая структура JavaScriptспециальные значения null JavaScript и undefined JavaScript и переменные JavaScript.

И тема сегодняшней публикации JavaScript функции. Точнее, я постараюсь сегодня рассмотреть JavaScript функции, как тип данных. Также, мы поговорим о создание JavaScript функций и вызове JavaScript функций, следует сказать, что JavaScript функции относятся к объектному типу данных JavaScript, а сами JavaScript функции сильно отличаются от функций в других языках программирования. JavaScript функции бывают как встроенные или иначе предопределенные функции JavaScript (эти функции уже написаны и их можно только вызывать), так и те, которые пишут сами пользователи, такие JavaScript функции можно вызывать, изменять и удалять. Вне зависимости от того предопределенная или не предопределенная функция, ее можно вызывать сколько угодно раз, грубо говоря, использовать столько раз, сколько потребуется. Для этого функции собственно и пишутся.

Функции JavaScript, как тип данных. Объектный тип данных JavaScript. Ключевое слово function JavaScript. Создание JavaScript функции. Вызов функции JavaScript.

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

Не забываем подписываться на RSS-лентуtwitter и на публичную страницу Вконтакте.

Функции JavaScript, как тип данных. Определение и вызов JavaScript функции. Аргументы функций JavaScript. Ключевое слово function JavaScript.

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

У любой функции, не только у функций JavaScript могут быть аргументы. Аргументы JavaScript функции. Аргументы или параметры передаются JavaScript функции, эти аргументы нужны для того, чтобы указать функции на то, что она должна вычислять. Аргументов у JavaScript функции может быть несколько или не быть вообще. Помимо того, что JavaScript функция может принимать аргументы, она еще и может возвращать значения своих вычислений, иначе смысла писать функции бы не было.

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

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

[php]

function sum (x)

{

return x+x;

}

[/php]

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

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

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

Мы определили JavaScript функцию, теперь можно попробовать вызвать JavaScript функцию. Синтаксис вызова JavaScript функции очень прост: мы должны указать имя функции, после чего в круглых скобках мы указываем список аргументов, которые хотим передать JavaScript функции:

[php]

a = sum (x);

b = Math.log (x);

c = creatTable (col, str);

d = newList ();

[/php]

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

Не забывайте, что JavaScript функция – это тип данных, из этого следует, что JavaScript функции можно хранить внутри JavaScript переменных, в качестве аргументов JavaScript функций могут выступать другие JavaScript функции, JavaScript функция может быть свойством объекта JavaScript, в это случае ее называют JavaScript методом. Кроме всего прочего, JavaScript функция может быть присвоена элементу JavaScript массива.

Определение  JavaScript функции. JavaScript функция, как литерал. Функциональные литералы. Конструктор Function () JavaScript.

Я уже написал о том, как вызывать и определять JavaScript функции, определяем мы JavaScript функцию при помощи ключевого слова function, после которого следует имя функции и аргументы функции в круглых скобках. Синтаксис функционального литерала JavaScript полностью повторяет синтаксис определения JavaScript функции. Пишется ключевое слово function, но имя функции, когда она выступает как литерал не обязательно, затем в круглых скобках указываются аргументы функции, после чего в фигурных скобках пишется тело функции.

Фишкой функциональных литералов является то, что в отличие от JavaScript функции, функциональные литералы могу входить в состав других JavaScript выражений:

[php]var sum = function (x){ return x+x;}[/php]

Польза функциональных литералов JavaScript будет видна при написание сложных JavaScript сценариев.

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

Функции можно определять при помощи конструктора Function () JavaScript. Конструктору Function () передается в виде строк список всех аргументов JavaScript функции и само тело функции, при этом строки разделяются запятой:

[php]var sum = Function (“x”, “return x+x;”);[/php]

Как я уже говорил: вы редко где встретите такой способ определения JavaScript функций, поскольку неудобно писать тело функции в виде JavaScript строки, но это не главная причина, дело в том, что в некоторых реализациях JavaScript, функции, определенные при помощи конструктора Function (), работают менее эффективно, чем функциональные литералы и функции, определенные при помощи ключевого слова function.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 3 comments

  1. Pingback: Артем

    • Кирилл Reply

      Артем, да не за что! Всегда рад помочь!

  2. Pingback: Marat

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...