Комментарии 11
Не буду скрывать, подчерпнул кое-что новое :)
Низкий поклон за ликбез!
Уже в избранном :)
Низкий поклон за ликбез!
Уже в избранном :)
>Javascript, помимо стандартных возможностей, предоставляет массу способов
Ниже вы описываете всё те же стандартные возможности, ничего "помимо" этого...
>Числовая переменная
Лучше всё-таки стараться не смешивать свойства и переменные, переменные в javascript - это свойства, но свойства - совсем не обязательно переменные.
>вы можете работать только с одним вновь созданным объектом
Работать можно и с одним, и со всеми, Object - обычный конструктор, плодящий объекты.
>Литеральная нотация работает в версии Javascript 1.2 и выше
С JavaScript1.3/JScript2.0/ECMAScript 3rd Edition
>Создаем наш объект с использованием литеральной нотации
Пары разделяются запятыми, а не точкой с запятой, как в вашем примере.
>имя_переменной : содержание переменной
Слева ни в коем случае не переменные, а идентификаторы/строки/числа, разница, думаю, очевидна.
>С помощью прототипов можно добавлять новые свойства и параметры
Параметры не при чём, это термин из арсенала функций.
>MyInstance.prototype.newproperty = false;
Совершенно не так, у объекта, созданного конструктором, нет свойства 'prototype'.
>экземпляр класса наследует все свойства и методы класса
В javascript 1.x нет классов (со всеми из этого вытекающими).
>Как и в ООП
>Если проводить параллели с ООП
Вы напрасно сравниваете по тексту javascript с OOP в целом, будучи object-based языком, javascript уже там, если уж сравнивать, так против class-based языков и их особенностей.
>экзотические, такие как создание ассоциативных массивов
Во-первых, не такие уж и экзотические, во-вторых, создавать свойства массива (не индексы) - не слишком полезное занятие, т.к. собирать однотипные объекты нужно как раз через индексы, создавая упорядоченные элементы массива, для всего другого лучше использовать объект, работать с которым проще.
>Итак, мы рассмотрели способы создания объектов
Из пяти "способов создания" к делу относятся только первые два.
Ниже вы описываете всё те же стандартные возможности, ничего "помимо" этого...
>Числовая переменная
Лучше всё-таки стараться не смешивать свойства и переменные, переменные в javascript - это свойства, но свойства - совсем не обязательно переменные.
>вы можете работать только с одним вновь созданным объектом
Работать можно и с одним, и со всеми, Object - обычный конструктор, плодящий объекты.
>Литеральная нотация работает в версии Javascript 1.2 и выше
С JavaScript1.3/JScript2.0/ECMAScript 3rd Edition
>Создаем наш объект с использованием литеральной нотации
Пары разделяются запятыми, а не точкой с запятой, как в вашем примере.
>имя_переменной : содержание переменной
Слева ни в коем случае не переменные, а идентификаторы/строки/числа, разница, думаю, очевидна.
>С помощью прототипов можно добавлять новые свойства и параметры
Параметры не при чём, это термин из арсенала функций.
>MyInstance.prototype.newproperty = false;
Совершенно не так, у объекта, созданного конструктором, нет свойства 'prototype'.
>экземпляр класса наследует все свойства и методы класса
В javascript 1.x нет классов (со всеми из этого вытекающими).
>Как и в ООП
>Если проводить параллели с ООП
Вы напрасно сравниваете по тексту javascript с OOP в целом, будучи object-based языком, javascript уже там, если уж сравнивать, так против class-based языков и их особенностей.
>экзотические, такие как создание ассоциативных массивов
Во-первых, не такие уж и экзотические, во-вторых, создавать свойства массива (не индексы) - не слишком полезное занятие, т.к. собирать однотипные объекты нужно как раз через индексы, создавая упорядоченные элементы массива, для всего другого лучше использовать объект, работать с которым проще.
>Итак, мы рассмотрели способы создания объектов
Из пяти "способов создания" к делу относятся только первые два.
несмотря на то что я согласен с вышесказанным, все-таки критику не мешало бы разбавить. Тема тяжела для новичка и мало кто об этом пишет.
Спасибо за замечания, давайте разбираться.
>Ниже вы описываете всё те же стандартные возможности, ничего "помимо" этого...
Стандартные - это использование функций.
>Работать можно и с одним, и со всеми, Object - обычный конструктор, плодящий объекты.
MyObject мы не можем создать еще один раз
>Слева ни в коем случае не переменные, а идентификаторы/строки/числа, разница, думаю, очевидна.
Имя - разве не идентификатор?
>В javascript 1.x нет классов (со всеми из этого вытекающими).
Читали текст выше? Это из параллели с ООП
>Из пяти "способов создания" к делу относятся только первые два.
Конструкторы - это тоже средство создания таких элементов, которые объединяют свойста и методы. Так почему же только два?
>Ниже вы описываете всё те же стандартные возможности, ничего "помимо" этого...
Стандартные - это использование функций.
>Работать можно и с одним, и со всеми, Object - обычный конструктор, плодящий объекты.
MyObject мы не можем создать еще один раз
>Слева ни в коем случае не переменные, а идентификаторы/строки/числа, разница, думаю, очевидна.
Имя - разве не идентификатор?
>В javascript 1.x нет классов (со всеми из этого вытекающими).
Читали текст выше? Это из параллели с ООП
>Из пяти "способов создания" к делу относятся только первые два.
Конструкторы - это тоже средство создания таких элементов, которые объединяют свойста и методы. Так почему же только два?
>Пары разделяются запятыми, а не точкой с запятой, как в вашем примере.
Именно точкой с запятой.
Именно точкой с запятой.
Исправил указанные ошибки.
не_правильно:
MyObject = {
id : 1;
name : "Sample";
boolval : true;
getName : function()
{
return this.name;
}
}
правильно:
MyObject = {
id : 1,
name : "Sample",
boolval : true,
getName : function()
{
return this.name;
}
}
MyObject = {
id : 1;
name : "Sample";
boolval : true;
getName : function()
{
return this.name;
}
}
правильно:
MyObject = {
id : 1,
name : "Sample",
boolval : true,
getName : function()
{
return this.name;
}
}
"самых мощнейших" --> "самых мощных" | "мощнейших"
http://disaen.com/misc/inheritance/
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Объекты в JavaScript