Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   есть ли жизнь без var ? (https://javascript.ru/forum/offtopic/47840-est-li-zhizn-bez-var.html)

nice_try 10.06.2014 14:09

Цитата:

Сообщение от MallSerg (Сообщение 315870)
думаю 2-5 не больше

неслыханные глупцы :D

Sweet 10.06.2014 14:29

Цитата:

Сообщение от Watson-512-GTX
delete зачем нужен если есть сборщик мусора

Оператор delete не работает с переменными, а предназначен для удаления свойств объекта:
new function () {
  var foo = "test";
  var isDeleted = delete foo;
  alert([ isDeleted, typeof foo ]);
};

new function () {
  this.foo = "test";
  var isDeleted = delete this.foo;
  alert([ isDeleted, typeof this.foo ]);
};

В остальном добавить нечего.

MallSerg 10.06.2014 14:38

Цитата:

Сообщение от Watson-512-GTX (Сообщение 315869)
вы меня не понимать

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

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

А как тебя понять если ты сам не понимаешь что пытаешься объяснить?

Есть множество языков где нет понятия переменная или функция например
http://ru.wikipedia.org/wiki/Brainfuck

Сами понятия "Локальная переменная", "функция" очень абстрактны (((.
И они сильно различаются в конкретных реализациях в различных языках.
Т.е. функция в JS != функция в С, переменная в JS != переменная в С.

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

Watson-512-GTX 10.06.2014 14:41

дык я предельно просто спрашиваю -

подпрограмма может работать с внутренними-локальными переменными и внешними

вопрос в том - можно ли совсем обойтись без внутренних переменных в жаваскрипте и соответственно без замыканий

звучит как ересь: я понимаю
но мне нужно понять саму возможность этого и есть ли языки где только так

Watson-512-GTX 10.06.2014 14:44

Цитата:

Сообщение от Sweet (Сообщение 315873)
Оператор delete не работает с переменными, а предназначен для удаления свойств объекта:

переменные в жаваскрипте это всегда свойства объекта
в том числе объекта функции

сборщик мусора придуман для того чтобы не париться о выделении памяти
оператор delete - наверное лишний

MallSerg 10.06.2014 14:46

Цитата:

Сообщение от Watson-512-GTX (Сообщение 315876)
дык я предельно просто спрашиваю -

подпрограмма может работать с внутренними-локальными переменными и внешними

вопрос в том - можно ли совсем обойтись без внутренних переменных в жаваскрипте и соответственно без замыканий

звучит как ересь: я понимаю
но мне нужно понять саму возможность этого и есть ли языки где только так

Легко просто используй <script></script> только внутри ничего не пиши тогда переменных не будет =).

Watson-512-GTX 10.06.2014 14:52

Цитата:

Сообщение от MallSerg (Сообщение 315878)
Легко просто используй <script></script> только внутри ничего не пиши тогда переменных не будет =).

ты тупой?

MallSerg 10.06.2014 15:05

Цитата:

Сообщение от Watson-512-GTX (Сообщение 315881)
ты тупой?

где тупой? =)
delete - позволяет удалить объект который больше не нужен это позволяет освободить память на компьютере =)
<script>
a = {}
a.memory = "очень много гигов памяти";
alert (a.memory) // память занята =(
delete a.memory
alert (a.memory) // память освобождена =)
</script>

Sweet 10.06.2014 15:08

Цитата:

Сообщение от Watson-512-GTX
можно ли совсем обойтись без внутренних переменных в жаваскрипте и соответственно без замыканий

Можно. Что мешает?
Цитата:

Сообщение от Watson-512-GTX
переменные в жаваскрипте это всегда свойства объекта

Нет, переменные - это всегда переменные, свойства - это всегда свойства, переменные - никогда не свойства. Соответственно, сборщик мусора работает только с переменными, оператор delete - только со свойствами. И их работа никак не пересекается.

Watson-512-GTX 10.06.2014 15:13

для двоишников по теме - habrahabr.ru/post/147890/


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