Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Основы JS по Флэнэгану; (https://javascript.ru/forum/misc/13989-osnovy-js-po-flehnehganu%3B.html)

JSTalker 23.12.2010 04:25

Основы JS по Флэнэгану;
 
Изучаю ща основы по Флэнэгану.
Многое непонятно. Сухо написано. Но подробно :)
Может перевод еще добавляет.

Тут буду постить возникшие по ходу изучения вопросы.
Чтоб не засирать весь форум мелкими темками :)
Прошу ответить, кто понял :) Ну или отправить по ссылке.
Постараюсь структурировано спрашивать.

Заранее всем спасибо! :)

зы. сейчас нахожусь на регулярных выражениях (отэта Тема!) но многое было непонятно еще раньше. Я в тетрадку записал :)

JSTalker 23.12.2010 05:12

Ну к примеру в программах часто применяется спецификатор var при объявлении переменной, однако javascript, как было сказано достаточно лояльный язык и не ругнется и если мы будем использовать сразу переменную (без var-а). Так зачем его ставить?

exec 23.12.2010 05:28

var создаёт переменную в локальной области видимости, а так она создаётся в глобальной (window).

(function () {
a = 0;
var x = 0;
})();
alert(a); // 0
alert(x); // нету

Kolyaj 24.12.2010 09:51

var, строго говоря, создаёт переменную вообще, да ещё и в текущей области видимости. Без него будет не переменная, а свойство объекта window.

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

x-yuri 24.12.2010 10:42

а чем отличается локальная область видимости от текущей, и глобальная область видимости от свойств объекта window?

Kolyaj 24.12.2010 10:46

Посыл был, что без var переменная не создаётся вообще. Но это теоретическая сторона вопроса.

monolithed 24.12.2010 16:07

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

Kolyaj 24.12.2010 16:13

Отличия между var и без var:
<script type="text/javascript">
try {
    var a = 1;
    b = 1;
    delete a;
    delete b;
    alert(a);
    alert(b);
} catch (e) {
    alert('Error: ' + e.message);
}
</script>

monolithed 24.12.2010 16:58

Цитата:

Сообщение от Kolyaj
Отличия между var и без var:

кстати, хороший пример на предыдущий ответ, т.к. одно из существенных отличий:)
Цитата:

Сообщение от Kolyaj
Без него будет не переменная, а свойство объекта window.


monolithed 24.12.2010 17:09

--offtop: --
upd: Kolyaj вы теперь в Yandex'e?


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