<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Комментарии на запись: ООП в Java Script (2): Классы</title>
	<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/</link>
	<description></description>
	<pubDate>Thu, 09 Sep 2010 02:16:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>От: Alexey R.</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-886</link>
		<author>Alexey R.</author>
		<pubDate>Sun, 04 Apr 2010 18:07:02 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-886</guid>
		<description>Я имел ввиду, создается ли прототайп для каждой функции в прототайп?</description>
		<content:encoded><![CDATA[<p>Я имел ввиду, создается ли прототайп для каждой функции в прототайп?</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Alexey R.</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-885</link>
		<author>Alexey R.</author>
		<pubDate>Sun, 04 Apr 2010 18:06:03 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-885</guid>
		<description>А можно ли создать .prototype для метода внутри .prototype?</description>
		<content:encoded><![CDATA[<p>А можно ли создать .prototype для метода внутри .prototype?</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Petrusha</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-870</link>
		<author>Petrusha</author>
		<pubDate>Sat, 27 Mar 2010 20:38:57 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-870</guid>
		<description>Следует обратить внимание, что .prototype существует только для функции-конструктора, но не для самого объекта</description>
		<content:encoded><![CDATA[<p>Следует обратить внимание, что .prototype существует только для функции-конструктора, но не для самого объекта</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: karaboz</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-745</link>
		<author>karaboz</author>
		<pubDate>Sun, 29 Nov 2009 00:03:36 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-745</guid>
		<description>&lt;a href="http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-742" rel="nofollow"&gt;Алекс&lt;/a&gt;, вы правы, было бы прозрачней и надёжней дать другое имя для функции-конструктора.</description>
		<content:encoded><![CDATA[<p><a href="http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-742" rel="nofollow">Алекс</a>, вы правы, было бы прозрачней и надёжней дать другое имя для функции-конструктора.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Алекс</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-743</link>
		<author>Алекс</author>
		<pubDate>Fri, 27 Nov 2009 20:33:01 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-743</guid>
		<description>В смысле просто бы поменял, ведь во многих языках программирования это ключевое слово, поэтому легко и просто могут принять и за ключевое в JS...</description>
		<content:encoded><![CDATA[<p>В смысле просто бы поменял, ведь во многих языках программирования это ключевое слово, поэтому легко и просто могут принять и за ключевое в JS&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Алекс</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-742</link>
		<author>Алекс</author>
		<pubDate>Fri, 27 Nov 2009 20:32:16 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-742</guid>
		<description>Поменял бы я на вашем месте ключевое слово Class, можно принять его за ключевое..</description>
		<content:encoded><![CDATA[<p>Поменял бы я на вашем месте ключевое слово Class, можно принять его за ключевое..</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: karaboz</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-58</link>
		<author>karaboz</author>
		<pubDate>Thu, 13 Dec 2007 03:28:41 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-58</guid>
		<description>&lt;a href="#comment-26" rel="nofollow"&gt;Михайлов Денис&lt;/a&gt;, абсолютно с вами согласен по поводу отрубания рук (= Я же только хотел "прочувствовать" природу и возможности JS, не более того (=</description>
		<content:encoded><![CDATA[<p><a href="#comment-26" rel="nofollow">Михайлов Денис</a>, абсолютно с вами согласен по поводу отрубания рук (= Я же только хотел &#034;прочувствовать&#034; природу и возможности JS, не более того (=</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Михайлов Денис</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-26</link>
		<author>Михайлов Денис</author>
		<pubDate>Wed, 31 Oct 2007 12:12:38 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-26</guid>
		<description>&lt;pre&gt;
var s = 'karaboz';
s.constructor.prototype.tell = function()
{
	alert(this);
}
s.tell();
&lt;/pre&gt;
"Добавлять" таким способом методы для созданных объектов не просто плохо, а  очень очень очень плохо. За такое надо отрубать руки. У неопытного программиста может создастся иллюзия что этот метод добавился только для его объекта "s", а это не так. Но это пол беды. Если каждый "воодушевленный" этим способом начнет добавлять (переопределять) свои прекрасные методы, то все участники процесса кодирования будут сильно удивлены новыми недокументированными возможностями привычных для них объектов.

Если и требуется расширить функционал объекта String, нужно это делать централизовано и одни раз используя исключительно String.prototype....</description>
		<content:encoded><![CDATA[<pre>
var s = 'karaboz';
s.constructor.prototype.tell = function()
{
	alert(this);
}
s.tell();
</pre>
<p>&#034;Добавлять&#034; таким способом методы для созданных объектов не просто плохо, а  очень очень очень плохо. За такое надо отрубать руки. У неопытного программиста может создастся иллюзия что этот метод добавился только для его объекта &#034;s&#034;, а это не так. Но это пол беды. Если каждый &#034;воодушевленный&#034; этим способом начнет добавлять (переопределять) свои прекрасные методы, то все участники процесса кодирования будут сильно удивлены новыми недокументированными возможностями привычных для них объектов.</p>
<p>Если и требуется расширить функционал объекта String, нужно это делать централизовано и одни раз используя исключительно String.prototype&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Zeroglif</title>
		<link>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-11</link>
		<author>Zeroglif</author>
		<pubDate>Sun, 07 Oct 2007 15:28:13 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/03/oop-v-java-script-klassy/#comment-11</guid>
		<description>&#62; При создании функции, JavaScript автоматически создает для нее пустое свойство .prototype
Вряд ли можно назвать это свойство "пустым", его значением является ссылка на объект, который в свою очередь тоже не "пуст".

&#62; При вызове свойства объекта, оно ищется сначала в самом объекте, и если его там не оказывается, то интепретатор смотрит в .prototype функции-конструктора, создавшей объект.
К моменту обращения к свойству объекта, функция-конструктор может уже не существовать, а свойство prototype может содержать совершенно другое значение (не прототип объекта), поэтому интерпретатор к свойству prototype конструктора вообще не обращается, поиск осуществляется по другой неявной цепочке. Это важно. В следующих статьях вы ещё пару раз ошибочно пишите про "поиск в свойстве (объекте) .prototype функции-конструктора", плодить на тот же счёт комментарии не буду, ограничусь этим.

&#62; мы в очередой еще подтвердили утверждение о том, что всё в JavaScript есть объект
Рррр... Не подтвердили. Не всё. ;-)</description>
		<content:encoded><![CDATA[<p>&gt; При создании функции, JavaScript автоматически создает для нее пустое свойство .prototype<br />
Вряд ли можно назвать это свойство &#034;пустым&#034;, его значением является ссылка на объект, который в свою очередь тоже не &#034;пуст&#034;.</p>
<p>&gt; При вызове свойства объекта, оно ищется сначала в самом объекте, и если его там не оказывается, то интепретатор смотрит в .prototype функции-конструктора, создавшей объект.<br />
К моменту обращения к свойству объекта, функция-конструктор может уже не существовать, а свойство prototype может содержать совершенно другое значение (не прототип объекта), поэтому интерпретатор к свойству prototype конструктора вообще не обращается, поиск осуществляется по другой неявной цепочке. Это важно. В следующих статьях вы ещё пару раз ошибочно пишите про &#034;поиск в свойстве (объекте) .prototype функции-конструктора&#034;, плодить на тот же счёт комментарии не буду, ограничусь этим.</p>
<p>&gt; мы в очередой еще подтвердили утверждение о том, что всё в JavaScript есть объект<br />
Рррр&#8230; Не подтвердили. Не всё. ;-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
