<?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 (1): Объекты</title>
	<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/</link>
	<description></description>
	<pubDate>Thu, 09 Sep 2010 02:13:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>От: Mitya</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-806</link>
		<author>Mitya</author>
		<pubDate>Sun, 31 Jan 2010 14:33:59 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-806</guid>
		<description>Функция-конструктор  описывает шаблон, по которому будут создаваться объекты (экземпляры) класса.</description>
		<content:encoded><![CDATA[<p>Функция-конструктор  описывает шаблон, по которому будут создаваться объекты (экземпляры) класса.</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: sarlv</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-788</link>
		<author>sarlv</author>
		<pubDate>Fri, 15 Jan 2010 14:48:07 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-788</guid>
		<description>"Имя свойства - это строка, а значение свойства — строка"
То ли я ничего не понимаю, то ли автор не совсем удачно составил предложение</description>
		<content:encoded><![CDATA[<p>&#034;Имя свойства - это строка, а значение свойства — строка&#034;<br />
То ли я ничего не понимаю, то ли автор не совсем удачно составил предложение</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: romass</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-398</link>
		<author>romass</author>
		<pubDate>Thu, 26 Mar 2009 15:08:37 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-398</guid>
		<description>Автору статьи спасибо. И вообще ресурс очень хороший!!</description>
		<content:encoded><![CDATA[<p>Автору статьи спасибо. И вообще ресурс очень хороший!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: C'est_la_vie</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-104</link>
		<author>C'est_la_vie</author>
		<pubDate>Thu, 15 May 2008 19:43:31 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-104</guid>
		<description>&#62;&#62;// число
&#62;&#62;var num = 12345.6789; // var num = new Number(12345.6789);

Почему же тогда:
alert(typeof 12345.6789 == 'number') //выведет true
alert(typeof new Number(12345.6789) == 'number') //выведет "false"!!!

, при том, что:
alert(12345.6789 instanceof Number) //выведет "false"
alert(new Number(12345.6789) instanceof Number) //выведет "true"

Думаю, что в JavaScript реализовано что-то типа Java`овского autoboxing`а и на самом деле простое число - это на самом деле неявный примитив, а не объект (который хранится в стеке, а не в куче для более быстрых операций с ним) и оборачивается объектом только при необходимости (когда контекст его использования этого требует). И для быстроты выполнения сценария, если это возможно, действительно лучше предпочитать объектам их неявные примитивы.
Ну и с другими типами похожая ситуация.

А в остальном статья хорошая, спасибо! :)</description>
		<content:encoded><![CDATA[<p>&gt;&gt;// число<br />
&gt;&gt;var num = 12345.6789; // var num = new Number(12345.6789);</p>
<p>Почему же тогда:<br />
alert(typeof 12345.6789 == &#039;number&#039;) //выведет true<br />
alert(typeof new Number(12345.6789) == &#039;number&#039;) //выведет &#034;false&#034;!!!</p>
<p>, при том, что:<br />
alert(12345.6789 instanceof Number) //выведет &#034;false&#034;<br />
alert(new Number(12345.6789) instanceof Number) //выведет &#034;true&#034;</p>
<p>Думаю, что в JavaScript реализовано что-то типа Java`овского autoboxing`а и на самом деле простое число - это на самом деле неявный примитив, а не объект (который хранится в стеке, а не в куче для более быстрых операций с ним) и оборачивается объектом только при необходимости (когда контекст его использования этого требует). И для быстроты выполнения сценария, если это возможно, действительно лучше предпочитать объектам их неявные примитивы.<br />
Ну и с другими типами похожая ситуация.</p>
<p>А в остальном статья хорошая, спасибо! :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: ihrd</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-22</link>
		<author>ihrd</author>
		<pubDate>Sat, 27 Oct 2007 02:46:03 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-22</guid>
		<description>нет никакой опечатки, извините, просто запутался в &#62;</description>
		<content:encoded><![CDATA[<p>нет никакой опечатки, извините, просто запутался в &gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: ihrd</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-21</link>
		<author>ihrd</author>
		<pubDate>Sat, 27 Oct 2007 02:38:26 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-21</guid>
		<description>опечатка:
&#62; var o = {}; // создаем новое свойство o объекта window (window.o)
                                                           ^^^</description>
		<content:encoded><![CDATA[<p>опечатка:<br />
&gt; var o = {}; // создаем новое свойство o объекта window (window.o)<br />
                                                           ^^^</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Zeroglif</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-10</link>
		<author>Zeroglif</author>
		<pubDate>Sun, 07 Oct 2007 15:26:58 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-10</guid>
		<description>Посыл понятен и полезен. Я только комментирую некоторые терминологические неточности. Для общей пользы и просветления. Удачи!</description>
		<content:encoded><![CDATA[<p>Посыл понятен и полезен. Я только комментирую некоторые терминологические неточности. Для общей пользы и просветления. Удачи!</p>
]]></content:encoded>
	</item>
	<item>
		<title>От: karaboz</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-9</link>
		<author>karaboz</author>
		<pubDate>Sun, 07 Oct 2007 07:22:34 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-9</guid>
		<description>Все, что вы сказали — чистая правда и мне нечего возразить (= Однако я под объектом подразумевал не один из типов данных в JavaScript, а способ организации и управления данными, коротко опредлеив в самом начале, что  &lt;strong&gt;"Объект — это коллекция свойств"&lt;/strong&gt;. (=

Посыл всей этой публикации будет, видимо, более очевиден после ознакомления со всем задуманным циклом &lt;a href="/wps/?s=%D0%9E%D0%9E%D0%9F+%D0%B2+Java+Script" rel="nofollow"&gt;ООП в JavaScript&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Все, что вы сказали — чистая правда и мне нечего возразить (= Однако я под объектом подразумевал не один из типов данных в JavaScript, а способ организации и управления данными, коротко опредлеив в самом начале, что  <strong>&#034;Объект — это коллекция свойств&#034;</strong>. (=</p>
<p>Посыл всей этой публикации будет, видимо, более очевиден после ознакомления со всем задуманным циклом <a href="/wps/?s=%D0%9E%D0%9E%D0%9F+%D0%B2+Java+Script" rel="nofollow">ООП в JavaScript</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>От: Zeroglif</title>
		<link>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-6</link>
		<author>Zeroglif</author>
		<pubDate>Tue, 02 Oct 2007 10:06:41 +0000</pubDate>
		<guid>http://karaboz.ru/2007/10/02/oop-v-java-script-obekty/#comment-6</guid>
		<description>&#62; Например, когда мы объявляем строковую переменую  мы неявным образом вызываем встроенную функцию-конструтор  и создаем объект (экземпляр) класса String.

Если бы это было так, как вы говорите (а это не так), то вы не смогли бы отличить объектный тип от не-объектного со всеми из этого вытекающими последствиями, и объяснять странное поведение javascript пришлось бы только с помощью термина "хитрость", но ничего хитрого тут нет, javascript различает типы, на этих различиях построена логика, в зависимости от операций постоянно происходит преобразование значений из типа в тип...

&#62; Это же утверждение верно и для всех остальных типов данных JavaScript.

Только в отношении инициализаторов массива и объекта, всё остальное надумано. ;-)

&#62; У всех этих объектов сразу же после создания определены все свойства и методы, описанные в их функциях-конструкторах

В нативных конструкторах (Object, Array, Function...) ничего не описано, свойства наследуются с помошью цепи прототипов. При необходимости примитивные значения (кроме undefined и null) конвертируются в объектный тип, чтобы мы могли получить доступ к соответствующим свойствам.</description>
		<content:encoded><![CDATA[<p>&gt; Например, когда мы объявляем строковую переменую  мы неявным образом вызываем встроенную функцию-конструтор  и создаем объект (экземпляр) класса String.</p>
<p>Если бы это было так, как вы говорите (а это не так), то вы не смогли бы отличить объектный тип от не-объектного со всеми из этого вытекающими последствиями, и объяснять странное поведение javascript пришлось бы только с помощью термина &#034;хитрость&#034;, но ничего хитрого тут нет, javascript различает типы, на этих различиях построена логика, в зависимости от операций постоянно происходит преобразование значений из типа в тип&#8230;</p>
<p>&gt; Это же утверждение верно и для всех остальных типов данных JavaScript.</p>
<p>Только в отношении инициализаторов массива и объекта, всё остальное надумано. ;-)</p>
<p>&gt; У всех этих объектов сразу же после создания определены все свойства и методы, описанные в их функциях-конструкторах</p>
<p>В нативных конструкторах (Object, Array, Function&#8230;) ничего не описано, свойства наследуются с помошью цепи прототипов. При необходимости примитивные значения (кроме undefined и null) конвертируются в объектный тип, чтобы мы могли получить доступ к соответствующим свойствам.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
