Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 24.08.2009, 18:06
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от JSprog
тепреь ты точно спалися
Достал ты меня, немо... Иди проспись...
Ответить с цитированием
  #22 (permalink)  
Старый 24.08.2009, 18:07
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Типо умный такой? Реально думаешь что я немо?
Иди сам проспись
А твои глупые отмазки сразу видно
__________________
Лови позитив

Последний раз редактировалось JSprog, 24.08.2009 в 18:09.
Ответить с цитированием
  #23 (permalink)  
Старый 24.08.2009, 18:10
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
На самом деле можно объяснить одним предложением
JSprog, хорошо, ты тогда расскажи.

JSprog, B~Vladi, забейте отношения выяснять, нам же главное разобраться, есть ли разница, и, если есть, то в чём, не так ли?
__________________
Тонкости ECMAScript
Ответить с цитированием
  #24 (permalink)  
Старый 24.08.2009, 18:12
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Первый вариант создаёт копию свойства для каждого экземпляра объекта то есть свойство экземпляра , а второй одну копию для всех экземпляров объекта то есть свойство класса
__________________
Лови позитив
Ответить с цитированием
  #25 (permalink)  
Старый 24.08.2009, 18:18
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
function func(arguments) {this.z=arguments}
Сообщение от JSprog
Первый вариант создаёт копию свойства для каждого экземпляра объекта то есть свойство экземпляра
Вроде понятно, т.е. func - это конструктор, который создаёт новый объект и this внутри этого конструктора указывает на новый объект, да? И "this.z" - создаёт свойство "z" в этом созданном объекте и присваивает ему переданное значение "arguments", так?

Сообщение от JSprog
function func(arguments){} func.z=100
Сообщение от JSprog
а второй одну копию для всех экземпляров объекта то есть свойство класса
В смысле, все порождённые экземлпяры будут иметь доступ к func.z? А как обратиться из экзепляра к ней, если они связаны?
__________________
Тонкости ECMAScript
Ответить с цитированием
  #26 (permalink)  
Старый 24.08.2009, 18:19
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Dmitry A. Soshnikov
забейте отношения выяснять
Я как раз и решил это сделать
Сообщение от Dmitry A. Soshnikov
есть ли разница, и, если есть, то в чём, не так ли?
Именно.

Ок, что бы не тыкать друг на друга - расскажу я.

function func(arguments) {this.z=arguments}

Здесь this указывает на объект, откуда был вызван конструктор(функция), в данном слечае - это window:
func(100);

Поэтому свойство z мы устанавливаем для window.
function func(arguments){}
func.z=100


Здесь есть объект typeof=='function', и этому (только) объекту мы устанавливаем свойство z.

Если бы мы записали
fnc.prototype.z

Свойство z имели бы все объекты типа function.

Так пойдёт?!
Ответить с цитированием
  #27 (permalink)  
Старый 24.08.2009, 18:21
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Сообщение от Dmitry A. Soshnikov
В смысле, все порождённые экземлпяры будут иметь доступ к func.z? А как обратиться из экзепляра к ней, если они связаны?
это свойство, связанное с самим классом, а не с каждым экземпляром этого класса
А вернее func.prototype.z
func.z скорее всего вообще недоступно дочерним объектам
<script>
function yyy(){}
yyy.z=100
xxx=new yyy
alert(xxx.z)
</script>

Тому потверждение
__________________
Лови позитив

Последний раз редактировалось JSprog, 24.08.2009 в 18:25.
Ответить с цитированием
  #28 (permalink)  
Старый 24.08.2009, 18:27
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от JSprog
это свойство, связанное с самим классом, а не с каждым экземпляром этого класса
Ага, точно. Т.е. обратиться можно только через сам конструктор, либо через ссылку .constructor у объекта (если её не перезаписали).

function func(arguments){}
func.z = 10;
var a = new func(10);
alert(a.constructor.z); // 10
alert(func.z); // 10


Сообщение от JSprog
А вернее func.prototype.z
А в данном случае "z" как связана с порождёнными объектами? Или здесь тоже с конструктором связь?

Сообщение от B~Vladi
Здесь this указывает на объект, откуда был вызван конструктор(функция), в данном слечае - это window:
Да, действительно. В примере же "func(100);" не указано new. А если бы было с new?
__________________
Тонкости ECMAScript
Ответить с цитированием
  #29 (permalink)  
Старый 24.08.2009, 18:28
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

В JavaScript нет классов. JSprog, харош уже, давай что-нибудь уже делай...
Ответить с цитированием
  #30 (permalink)  
Старый 24.08.2009, 18:29
Аватар для JSprog
L
Отправить личное сообщение для JSprog Посмотреть профиль Найти все сообщения от JSprog
 
Регистрация: 16.08.2009
Сообщений: 416

Связь с конструктором так как дочерние объекты не копируют свойство а тольок "читают" его
__________________
Лови позитив
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, есть ли такая CMS greatilya Оффтопик 1 01.08.2009 21:05
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
document.XMLDocument - есть ли в FF? IIIEPJIOK Events/DOM/Window 0 26.02.2009 00:19
Одиночки. В чем разница? Snipe Общие вопросы Javascript 49 07.06.2008 15:58
есть ли global в javascript scuter Общие вопросы Javascript 21 11.04.2008 21:48