Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   организация кода на JS (https://javascript.ru/forum/misc/48265-organizaciya-koda-na-js.html)

nverv 27.06.2014 10:13

организация кода на JS
 
как известно, в js используются подпрограммы (функции)

при интерпретации текста программы фактически исполняется основная функция (аналог main) которая:

1) объявляет переменные
2) выполняет действия условия и циклы - то есть производятся "начальные" вычисления

главная функция отличается от остальных отсутствием входных и выходных значений

вопрос - теоретически никто не мешает в основном тексте программы избавиться от второго пункта, а как на практике, такое бывает?

то есть любые действия основной программы можно организовать через объявление и вызов подпрограмм

Aetae 27.06.2014 14:00

Не понял о чём ты, если честно.
Но если вопрос о том чтобы не сорить в глобал, то все приличные люди так и делают, если нет явной необходимости во внешних вызовах.
<script>
(function(){

    var a, b = 2, c = 3; //локальные переменные
    function func(x, y){ //локальная функция
        return x + y
    }

    a = func(b, c);
    
    alert(a);

}()) //самовызывающаяся анонимная функция

//глобал чист

</script>

nerv_ 27.06.2014 15:00

nverv, это че за плагиатчик :D

nverv, ты пришел на форум по программированию. Где код?
Я вижу вот что: все свои вопросы ты начинаешь заумно, а заканчиваешь, так что хочется :cray:

Sweet 27.06.2014 15:05

Цитата:

Сообщение от nerv_
Я вижу вот что: все свои вопросы ты начинаешь заумно, а заканчиваешь, так что хочется :cray:

Потому что это студентота без опыта в реальных проектах.:)

kobezzza 27.06.2014 15:12

Цитата:

Сообщение от Sweet (Сообщение 318266)
Потому что это студентота без опыта в реальных проектах.:)

Последнее время такие стали чаще появляться, разведут демагогию о сферических пони в вакууме, а потом удивляются, что от них все шарахаются.

melky 27.06.2014 19:05

Цитата:

Сообщение от nverv (Сообщение 318182)
как известно, в js используются подпрограммы (функции)

при интерпретации текста программы фактически исполняется основная функция (аналог main) которая:

1) объявляет переменные
2) выполняет действия условия и циклы - то есть производятся "начальные" вычисления

главная функция отличается от остальных отсутствием входных и выходных значений

вопрос - теоретически никто не мешает в основном тексте программы избавиться от второго пункта, а как на практике, такое бывает?

то есть любые действия основной программы можно организовать через объявление и вызов подпрограмм

http://javascript.ru/forum/misc/2160...acii-koda.html

да это практически та же тема! я её заморозил, йо?

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

Цитата:

Сообщение от nerv_
nverv, это че за плагиатчик

тоже издалёка чуть ники не перепутал)

Цитата:

Сообщение от Sweet
Потому что это студентота без опыта в реальных проектах.

зелень, так сказать :)

foo 27.06.2014 21:15

Цитата:

Сообщение от nverv
при интерпретации текста программы фактически исполняется основная функция (аналог main) которая:

Ты про eval? Если да, то это не аналог мейн, это вычислитель.
Цитата:

Сообщение от nverv
главная функция отличается от остальных отсутствием входных и выходных значений

Для нее входные значения -- выражения (термы) в тексте программы, который она читает.

nverv 27.06.2014 22:03

Цитата:

Сообщение от foo (Сообщение 318395)
Ты про eval? Если да, то это не аналог мейн, это вычислитель.
Для нее входные значения -- выражения (термы) в тексте программы, который она читает.

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

foo 27.06.2014 22:38

Цитата:

Сообщение от nverv
я про интерпретор исполняющий текст программы

Интерпретатор, целиком, это цикл чтение-исполнение-печать. eval -- это функция, отвечающая за исполнение. Инструкции для него ничем не отличаются, это обычная функция. Она берет в качестве аргумента выражение, и возвращает значение вычисления. Разумеется, реальный интерпретатор гораздо сложней, там куча оптимизаций, но в принципе, это так.

foo 27.06.2014 22:42

Цитата:

Сообщение от nverv
даже var есть

Это я вообще не понял, к чему. Где есть?


Часовой пояс GMT +3, время: 04:18.