<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Тонкости ECMA-262-3. Часть 2. Объект переменных.</title>
	<atom:link href="http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/</link>
	<description>by Dmitry Soshnikov</description>
	<lastBuildDate>Sun, 13 May 2012 08:41:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: денис</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-13158</link>
		<dc:creator>денис</dc:creator>
		<pubDate>Thu, 05 Apr 2012 02:08:14 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-13158</guid>
		<description>Дмитрий я об этом и говорю ! 

Статьи просто филигранны - все четко и понятно - а ситуация с с заменой функции на число хитра и не очевидна - просто добавь свой коммент как ремарку к тексту если не трудно.</description>
		<content:encoded><![CDATA[<p>Дмитрий я об этом и говорю ! </p>
<p>Статьи просто филигранны &#8211; все четко и понятно &#8211; а ситуация с с заменой функции на число хитра и не очевидна &#8211; просто добавь свой коммент как ремарку к тексту если не трудно.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Soshnikov</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-13152</link>
		<dc:creator>Dmitry Soshnikov</dc:creator>
		<pubDate>Wed, 04 Apr 2012 03:37:25 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-13152</guid>
		<description>@&lt;b&gt;денис&lt;/b&gt;

А в твоем примере функция не вызовется. На момент активации, &lt;code&gt;x&lt;/code&gt; будет уже числом.</description>
		<content:encoded><![CDATA[<p>@<b>денис</b></p>
<p>А в твоем примере функция не вызовется. На момент активации, <code>x</code> будет уже числом.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: денис</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-13149</link>
		<dc:creator>денис</dc:creator>
		<pubDate>Wed, 04 Apr 2012 01:06:56 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-13149</guid>
		<description>Дмитрий !
В секции &quot;Ещё (классический) пример:&quot; добавь вызов функции x, чтобы было понятно что с ней происходит - а то возникаеют вопросы (пришлось пошагово дебажить в хроме, чтобы ответить себе на этот вопрос)

Как-то так:

[js]alert(x); // function
 
var x = 10;
alert(x); // 10
 
x = 20;

x()
 
function x() {}
 
alert(x); // 20[/js]</description>
		<content:encoded><![CDATA[<p>Дмитрий !<br />
В секции &#8220;Ещё (классический) пример:&#8221; добавь вызов функции x, чтобы было понятно что с ней происходит &#8211; а то возникаеют вопросы (пришлось пошагово дебажить в хроме, чтобы ответить себе на этот вопрос)</p>
<p>Как-то так:</p>
<pre class="brush: jscript; title: ;">alert(x); // function

var x = 10;
alert(x); // 10

x = 20;

x()

function x() {}

alert(x); // 20</pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Soshnikov</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-13116</link>
		<dc:creator>Dmitry Soshnikov</dc:creator>
		<pubDate>Sat, 24 Mar 2012 06:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-13116</guid>
		<description>@&lt;b&gt;Ivan&lt;/b&gt;

&lt;blockquote&gt;Вопрос: программа завершается, когда происходит закрытие окна браузера или же когда происходит окончательная загрузка страницы(тогда как же быть с событиями)?&lt;/blockquote&gt;

На самом деле я выбрал не совсем удачную формулировку. Поскольку относительно Web&#039;a, &lt;code&gt;Программой&lt;/code&gt; считается код каждого отдельного тега &lt;code&gt;script&lt;/code&gt;.

Вместе с тем, каждая такая программа разделяет один и тот же глобальный объект.

[html]
&lt;script&gt;
// программа 1

// глобальная переменная
var a = 10;
&lt;/script&gt;


&lt;script&gt;
// программа 2

// доступно из глобального объекта,
// который все еще существует
console.log(a); // 10
&lt;/script&gt;
[/html]

Программой также считается код &lt;code&gt;eval&lt;/code&gt;&#039;a.

Поэтому то, что имелось в виду в моем предложении, точнее можно перефразировать как &quot;жизненный цикла глобального объекта заканчивается (в общем случае) с завершением &lt;em&gt;интерпретатора&lt;/em&gt;&quot;. В &quot;общем случае&quot; потому, что может быть &lt;em&gt;несколько&lt;/em&gt; глобальных объектов (например, открыто несколько окон или iframe&#039;ов, но при этом, возможно, используется один и тот же интерпретатор).

&lt;blockquote&gt;Вопрос: Если контекст, породивший а, глобальный, то означает ли завершение контекста также и завершение жизни глобального объекта?&lt;/blockquote&gt;

Вот как раз из примера выше с двумя тегами &lt;code&gt;script&lt;/code&gt; видно, что было порождено два глобальных контекста, которые используют один и тот же глобальный объект. Поэтому ответ на этот вопрос -- нет, глобальный объект уничтожится, когда уничтожится интерпретатор (по сути, да -- когда закроется окно браузера, если упрощенно).</description>
		<content:encoded><![CDATA[<p>@<b>Ivan</b></p>
<blockquote><p>Вопрос: программа завершается, когда происходит закрытие окна браузера или же когда происходит окончательная загрузка страницы(тогда как же быть с событиями)?</p></blockquote>
<p>На самом деле я выбрал не совсем удачную формулировку. Поскольку относительно Web&#8217;a, <code>Программой</code> считается код каждого отдельного тега <code>script</code>.</p>
<p>Вместе с тем, каждая такая программа разделяет один и тот же глобальный объект.</p>
<pre class="brush: xml; title: ;">
&lt;script&gt;
// программа 1

// глобальная переменная
var a = 10;
&lt;/script&gt;

&lt;script&gt;
// программа 2

// доступно из глобального объекта,
// который все еще существует
console.log(a); // 10
&lt;/script&gt;
</pre>
<p>Программой также считается код <code>eval</code>&#8216;a.</p>
<p>Поэтому то, что имелось в виду в моем предложении, точнее можно перефразировать как &#8220;жизненный цикла глобального объекта заканчивается (в общем случае) с завершением <em>интерпретатора</em>&#8220;. В &#8220;общем случае&#8221; потому, что может быть <em>несколько</em> глобальных объектов (например, открыто несколько окон или iframe&#8217;ов, но при этом, возможно, используется один и тот же интерпретатор).</p>
<blockquote><p>Вопрос: Если контекст, породивший а, глобальный, то означает ли завершение контекста также и завершение жизни глобального объекта?</p></blockquote>
<p>Вот как раз из примера выше с двумя тегами <code>script</code> видно, что было порождено два глобальных контекста, которые используют один и тот же глобальный объект. Поэтому ответ на этот вопрос &#8212; нет, глобальный объект уничтожится, когда уничтожится интерпретатор (по сути, да &#8212; когда закроется окно браузера, если упрощенно).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-13111</link>
		<dc:creator>Ivan</dc:creator>
		<pubDate>Fri, 23 Mar 2012 13:02:59 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-13111</guid>
		<description>Дмитрий, я совсем новичок в программировании, поясните пожалуйста следующие моменты:

1) &quot;Глобальный объект (Global object) — ... жизненный цикл объекта завершается с завершением программы.&quot;
Вопрос: программа завершается, когда происходит закрытие окна браузера или же когда происходит окончательная загрузка страницы(тогда как же быть с событиями)?

2) из части 6.Замыкания.6.4.Применение замыканий:
...
var a = 10;
// только для примера
xmlHttpRequestObject.onreadystatechange = function () {
  // callback, который вызовется отложенно,
  // когда данные будут готовы;
  // переменная &quot;а&quot; здесь доступна,
  // даже несмотря на то, что контекст,
  // породивший &quot;а&quot; уже завершился
  alert(a); // 10
};
..
Вопрос: Если контекст, породивший а, глобальный, то означает ли завершение контекста также и завершение жизни глобального объекта?</description>
		<content:encoded><![CDATA[<p>Дмитрий, я совсем новичок в программировании, поясните пожалуйста следующие моменты:</p>
<p>1) &#8220;Глобальный объект (Global object) — &#8230; жизненный цикл объекта завершается с завершением программы.&#8221;<br />
Вопрос: программа завершается, когда происходит закрытие окна браузера или же когда происходит окончательная загрузка страницы(тогда как же быть с событиями)?</p>
<p>2) из части 6.Замыкания.6.4.Применение замыканий:<br />
&#8230;<br />
var a = 10;<br />
// только для примера<br />
xmlHttpRequestObject.onreadystatechange = function () {<br />
  // callback, который вызовется отложенно,<br />
  // когда данные будут готовы;<br />
  // переменная &#8220;а&#8221; здесь доступна,<br />
  // даже несмотря на то, что контекст,<br />
  // породивший &#8220;а&#8221; уже завершился<br />
  alert(a); // 10<br />
};<br />
..<br />
Вопрос: Если контекст, породивший а, глобальный, то означает ли завершение контекста также и завершение жизни глобального объекта?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Soshnikov</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-11724</link>
		<dc:creator>Dmitry Soshnikov</dc:creator>
		<pubDate>Mon, 09 Jan 2012 18:57:14 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-11724</guid>
		<description>@&lt;b&gt;arbeiter&lt;/b&gt;

Данная статья относится к циклу ECMA-262-3, и здесь этот объект называется Variable object (или Activation object в функициях).

В ECMA-262-5 терминология (да и семантика в некоторых местах) была несколько изменена -- там уже используется модель окружений.

Но более правильно в ES5 этот объект называется &lt;a href=&quot;http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/#variable-environment&quot; rel=&quot;nofollow&quot;&gt;VariableEnvironment&lt;/a&gt; -- т.к. именно он используется для наполнения переменными при входе в контекст. Однако в runtime, работа уже идет, да -- c &lt;a href=&quot;http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/#lexical-environment&quot; rel=&quot;nofollow&quot;&gt;LexicalEnvironment&lt;/a&gt;.

Лексические окружения подробно описаны в цикле ECMA-262-5: &lt;a href=&quot;http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-1-lexical-environments-common-theory/&quot; rel=&quot;nofollow&quot;&gt;Chapter 3.1. Lexical environments: Common Theory&lt;/a&gt; и &lt;a href=&quot;http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/&quot; rel=&quot;nofollow&quot;&gt;Chapter 3.2. Lexical environments: ECMAScript implementation&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>@<b>arbeiter</b></p>
<p>Данная статья относится к циклу ECMA-262-3, и здесь этот объект называется Variable object (или Activation object в функициях).</p>
<p>В ECMA-262-5 терминология (да и семантика в некоторых местах) была несколько изменена &#8212; там уже используется модель окружений.</p>
<p>Но более правильно в ES5 этот объект называется <a href="http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/#variable-environment" rel="nofollow">VariableEnvironment</a> &#8212; т.к. именно он используется для наполнения переменными при входе в контекст. Однако в runtime, работа уже идет, да &#8212; c <a href="http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/#lexical-environment" rel="nofollow">LexicalEnvironment</a>.</p>
<p>Лексические окружения подробно описаны в цикле ECMA-262-5: <a href="http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-1-lexical-environments-common-theory/" rel="nofollow">Chapter 3.1. Lexical environments: Common Theory</a> и <a href="http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/" rel="nofollow">Chapter 3.2. Lexical environments: ECMAScript implementation</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: arbeiter</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-11715</link>
		<dc:creator>arbeiter</dc:creator>
		<pubDate>Mon, 09 Jan 2012 14:16:14 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-11715</guid>
		<description>В JavaScript все локальные переменные и фунции являются свойствами специального объекта, который называется &lt;strong&gt;LexicalEnvironment&lt;/strong&gt; (лексическое окружение). 

Правильно ли я понял, что в Вашей статье этот объект Вы назвали - АО (Activation object) .</description>
		<content:encoded><![CDATA[<p>В JavaScript все локальные переменные и фунции являются свойствами специального объекта, который называется <strong>LexicalEnvironment</strong> (лексическое окружение). </p>
<p>Правильно ли я понял, что в Вашей статье этот объект Вы назвали &#8211; АО (Activation object) .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry Soshnikov</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-11681</link>
		<dc:creator>Dmitry Soshnikov</dc:creator>
		<pubDate>Sun, 08 Jan 2012 10:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-11681</guid>
		<description>@&lt;b&gt;serega&lt;/b&gt;, рад, что полезно.

@&lt;b&gt;maksimr&lt;/b&gt;

&lt;blockquote&gt;изменить DOM на BOM, посколько Document Object Model не определяет таких объектов как Window, Screen и др.&lt;/blockquote&gt;

Да, хорошее замечание; исправил.</description>
		<content:encoded><![CDATA[<p>@<b>serega</b>, рад, что полезно.</p>
<p>@<b>maksimr</b></p>
<blockquote><p>изменить DOM на BOM, посколько Document Object Model не определяет таких объектов как Window, Screen и др.</p></blockquote>
<p>Да, хорошее замечание; исправил.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maksimr</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-11679</link>
		<dc:creator>maksimr</dc:creator>
		<pubDate>Sun, 08 Jan 2012 09:50:32 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-11679</guid>
		<description>Добрый день Дмитрий. Спасибо вам за эти замечательные статьи!

Я хотел бы предложить изменить DOM на BOM, посколько Document Object Model не определяет таких объектов как Window, Screen и др., но это только предложение.

Максим.</description>
		<content:encoded><![CDATA[<p>Добрый день Дмитрий. Спасибо вам за эти замечательные статьи!</p>
<p>Я хотел бы предложить изменить DOM на BOM, посколько Document Object Model не определяет таких объектов как Window, Screen и др., но это только предложение.</p>
<p>Максим.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: serega</title>
		<link>http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/comment-page-1/#comment-7212</link>
		<dc:creator>serega</dc:creator>
		<pubDate>Tue, 30 Aug 2011 23:51:20 +0000</pubDate>
		<guid isPermaLink="false">http://dmitrysoshnikov.com/?p=16#comment-7212</guid>
		<description>отличное объясниение спасибо</description>
		<content:encoded><![CDATA[<p>отличное объясниение спасибо</p>
]]></content:encoded>
	</item>
</channel>
</rss>

