Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 34

Для чего нужны функции?

11.08.2014, 02:45. Показов 4801. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Подскажите, как именно применять функции в JS? Я не могу понять для чего они нужны. На сколько я знаю, они применяются когда в коде есть участок, который повторяется несколько рас. И все? Только для этого нужны функции?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.08.2014, 02:45
Ответы с готовыми решениями:

Для чего нужны JS фреймворки и какой учить?
Привет, хочу начать изучать JS и выучить какой то фреймворк, но не как не могу понять для чего нужен фреймворк и какой лучшие учить, ...

Для чего нужны функции save и restore?
Объясните пожалуйста для чего нужны функции save и restore. Они довольно часто используются для на рисования примитив, черточек и линий. В...

Для чего нужны callback-функции
Для чего нужны callback-функции? И можно привести какой-нибуль пример по их использованию.

8
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
11.08.2014, 04:07
Для всего что угодно можно применить
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
11.08.2014, 11:39
Tansegrity, на самом деле понятие функций немного шире
1 - да,это участок кода, который может повторятся несколько раз:

JavaScript
1
2
3
4
5
6
function greet(name)  {
    return "Hello " + name;
}
 
greet(Alex);
greet(Bob);
2- есть замыкания,вещь немного посложнее, это когда функция возвращает другую функцию

JavaScript
1
2
3
4
5
6
7
8
9
10
var index = 5;
var func = function(i) {
     return function () {
          console.log(i);
     }
}(index);
 
func() // 5
index = 10;
func() // 5 , хоть мы и поменяли переменную, функция-замыкание хранит в себе замороженный вариант
Еще есть конструкторы ( привет ООП )

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function Obj (name) {
     var name = name;
     this.getName = function () {
          return name;
     }
} // это конструктор, с помощью которого мы можем создавать экземпляры объекта
 
var obj1 = new Obj("obj1");
var obj2 = new Obj("obj2");
 
obj1.getName() //"obj1";
obj2.getName() // "obj2"

Для начала сойдет, почитай про прототипный JS и замыкания чуть побольше + про анонимные функции
0
 Аватар для HueJack
14 / 12 / 4
Регистрация: 20.10.2008
Сообщений: 91
11.08.2014, 11:44
Tansegrity, без функций и классов и процедур ваш классный проект превратиться в кашу, которую через недельку вы уже не сможете разобрать.
0
0 / 0 / 0
Регистрация: 27.05.2014
Сообщений: 34
11.08.2014, 12:12  [ТС]
Thisman, я это понимаю. То есть я понимаю как строятся функции и обьекты, но я не понимаю зачем они нужны. Например, проверку входящих данных или какой-нибудь цикл либо эффекты на странице (подвижность элементов, динамичность....) я могу сделать и без функций. Уверен, что вопрос возникает от отсутствия опыта.
HueJack, в JavaScript нету классов и процедур))
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
11.08.2014, 12:17
Tansegrity, есть такая вещь, котарая называется "читаемость кода". Без разделения на логические участки более-менее сложный код превратится в дикое спагетти.
0
 Аватар для HueJack
14 / 12 / 4
Регистрация: 20.10.2008
Сообщений: 91
11.08.2014, 12:26
Цитата Сообщение от Tansegrity Посмотреть сообщение
в JavaScript нету классов и процедур))
Там есть прототипы

Добавлено через 4 минуты
Цитата Сообщение от Tansegrity Посмотреть сообщение
я не понимаю зачем они нужны.
Просто посмотрите в код, вероятно вы пользуетесь уже функциями для работы над строками, мат. функции и т.д., вы же не пишите с нуля функцию поиска максимального из двух значений. Так и в будущем, работая над проектом написанные вами необходимые функции будут снова и снова использоваться, без написания повторяющегося кода.
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
11.08.2014, 13:41
Tansegrity, окей. Вот тебе пример, допустим у нас есть сайт. На этом сайте есть несколько форм. Что бы на сервер отправлялись корректные данные нам нужен код, который будет проверять, допустим введенные данных ( пусть это будут не шаблонные данные аля ФИО, телефон, адрес , а что-то более нестандартное )
Так вот, у тебя этих форм три штуки на страничке? Как ты напишешь для ВСЕХ форм проверку?

Добавлено через 51 минуту
Еще ты можешь не засорять пространство имен :

JavaScript
1
2
3
(function () {
     var name = "name" // переменная name будет внутри функции, а значит не будет видна глобально ,что иногда полезно
})()
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
11.08.2014, 13:45
Цитата Сообщение от Tansegrity Посмотреть сообщение
На сколько я знаю, они применяются когда в коде есть участок, который повторяется несколько рас.
Это как можно в коде повторять расы? И каким боком к ним функции? Функции применяются, когда часть реализуемого скриптом алгоритма можно выделить в осмысленную составную операцию, алгоритм выполнения которой и реализуется телом функции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.08.2014, 13:45
Помогаю со студенческими работами здесь

Для чего нужны указатели на функции?
для чего нужны эти указатели на функции... не проще ли вызвать саму функцию, чем заводить под нее указатель и им пользоваться...

Для чего нужны виртуальные функции и виртуальное наследование ?
Для чего нужны виртуальные функции и виртуальное наследование ? Я нашел не сколько статей но не все понял. Заранее спасибо!

Для чего нужны функции void, не возращающие никаких значений?
собственно сабж. выводить текст можно и без функции. а для чего делать что-то, что в дальнейшем и не пригодится в программе? #include...

приведите пожалуйста реальный прмиер: для чего нужны дружественные функции?
приведите пожалуйста реальный прмиер: для чего нужны дружественные функции?

Для чего нужны интерфейсы?
Объясните на пальцах для чего нужны интерфейсы, как я понял они описывают методы и свойства, которые при наследовании классами должны были...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru