Re[9]: Разработка javascript
От: VladiCh  
Дата: 12.12.05 08:32
Оценка: 6 (1)
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, Роман Дубров, Вы писали:


РД>>Joker6413 wrote:

>>> Очевидно не умею, так я точно не смогу:
РД>>[skip]

РД>>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?


J>С какой версии jscript они начинаются и с каким ie эта версия ставиться?


Практически с любой версии. Классов и соответственно наследования классов там нет, есть только объекты и наследование объектов на основе прототипов. Но тем не менее можно организовать псведоклассы и наследование псевдоклассов, просто для удобства работы.

здесь

Правда по этой ссылке в примерах есть кое-какие неточности, к примеру функция 'uber' работает некорректно.
Ключевые слова, по которым надо смотреть документацию JavaScript — prototype, call, apply.

РД>>А если в чужом трудно разбираться — или бьютифаер


J>о аштойта? дайте сцылу.


автоматический форматтер JavaScript-ового текста

здесь
Re: Разработка JavaScript
От: jook Россия  
Дата: 10.02.06 13:27
Оценка: 6 (1)
Принимал участие в разработке достаточно серьезного web-приложения с использованием xmlsp: http://www.xmlsp.com/. Там интерфейс клиента на JavaScript, веб-сервисы мы реализовывали на Java, все работало под WebSphere.

Сейчас кстати какую-никакую поддержку JavaScript встроили в IDEA (http://www.jetbrains.com/idea/) и к тому же появились интересные плагины (http://companions.jetbrains.com/refactor-j/ — рефакторинг JavaScript, http://companions.jetbrains.com/inspection-js/ — проверка корректности и проч)
Re: Разработка javascript
От: WinniePoh  
Дата: 22.02.06 12:15
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.


1) Научиться программировать вообще

2) Научиться программировать на Scheme

3) Научиться хорошему функциональному стилю, активно использовать комбинаторы, итераторы, замыкания.

4) Вернуться к JavaScript, понять, что это такая Схема с кривым си-подобным синтаксисом, и начать программировать на нём такими же методами, как на Схеме. Результат получится качественный, понятный, красивый и надёжный.
Re[5]: Разработка javascript
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 05.12.05 06:52
Оценка: +1
А>>>Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.

OT>>Тогда кури AJAX.


А>Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес логике реализованной на javascript.


Это дело надо разделять. Веб-формы — одно. Бизнес-логика совершенно другое.
Я лично никогда бы бизнес-логику на жаваскрипте не стал писать (если не считать валидаторы), хотя не исключаю редких случаев, когда это действительно возможно.
... << RSDN@Home 1.2.0 alpha rev. 619>>
Re[7]: Разработка javascript
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 08.12.05 10:41
Оценка: +1
OT>>Это дело надо разделять. Веб-формы — одно. Бизнес-логика совершенно другое.
OT>>Я лично никогда бы бизнес-логику на жаваскрипте не стал писать (если не считать валидаторы), хотя не исключаю редких случаев, когда это действительно возможно.

I>Валидаторы (aka constraints в БД) — это, можно сказать, столп "бизнес-логики".


Скорее не столп, а кепка. Имхо не надо переворачивать бизнес-логику с ног на голову.
... << RSDN@Home 1.2.0 alpha rev. 619>>
Re[12]: Разработка javascript
От: Joker6413  
Дата: 12.12.05 14:19
Оценка: :)
Здравствуйте, VladiCh, Вы писали:

J>>Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?


VC>Классов в JavaScript нет, как я уже несколько раз писал. Тм не менее есть наследование и возможность создавать "псевдоклассы". Наследование на основе прототипов есть в JavaScript начиная с версии 1.0 если я не ошибаюсь. То есть начиная с самых первых браузеров. Может быть насчет JS 1.0 я и ошибаюсь, но такая возможность точно появилась очень давно. В IE 5.0 стопроцентно она есть. Почитайте все-таки статейку по ссылке выше.


Читать надо MSDN!

call MethodSee Also
Applies To: Function Object
Requirements
Version 5.5
Calls a method of an object, substituting another object for the current object.

call([thisObj[, arg1[, arg2[, [, argN]]]]])
Arguments
thisObj
Optional. The object to be used as the current object.
arg1, arg2, , argN
Optional. List of arguments to be passed to the method.
Remarks
The call method is used to call a method on behalf of another object. The call method allows you to change the object context of a function from the original context to the new object specified by thisObj.

If thisObj is not supplied, the global object is used as thisObj.

Requirements
Version 5.5


Вот и ответ.
Re[9]: Разработка javascript
От: WinniePoh  
Дата: 22.02.06 12:18
Оценка: :)
Здравствуйте, VladiCh, Вы писали:

VC>На самом деле в JavaScript'е нет классов, можно сделать только их эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не виртуальными функциями и даже ограничением видимости (public/private/protected), если очень хочется. Правда т.к. это все-таки эмуляция, создание этих псевдо-классов и тому подобные вещи происходят в рантайме, а т.к. язык очень слаботипизированный, то писать бизнес-логику на нем все же не очень удобно. Вот GUI — вполне.


Ёлы-палы, ну зачем вам классы-шмассы для бизнес-логики? Пишите функционально, JavaScript это неплохо позволяет, там замыкания есть. На фига нужны вообще эти ваши классы, когда есть замыкания?
Разработка javascript
От: Аноним  
Дата: 02.12.05 13:20
Оценка:
Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.
Нанять отдельного javascript программера мы не может и на это нет времени.
Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.
Re: Разработка javascript
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 02.12.05 13:33
Оценка:
А>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.
А>Нанять отдельного javascript программера мы не может и на это нет времени.
А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

Зависит от контекста использования. Задачу в студию!
... << RSDN@Home 1.2.0 alpha rev. 619>>
Re: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 02.12.05 15:01
Оценка:
Аноним wrote:

> Может кто-то смог выработать успешные метотоды работы с javascript?

> Поделитель плиз.

Главное — правильный идеологический подход и достаточно условий для
отладки. А то начнешь ковырять какой-нить fckEditor, а там в некоторых
местах и алерт не поставишь, и document.write низя... приходится
открывать отдельное окно и в него писать дебаг.

А вообще javascript — это фигня, все-таки язык понятный, на си/пхп/джаву
итд похож. А мне вот обломилось счастье начинать проект на Cache'+CSP
начинать, а в команде никто даже не слышал о нем раньше. Сидим втыкаем
вот в доки да синтаксис COS...

' — это !
! = это когда | а когда перевод строки.

итд...
"Откажись от формальной логики" — на 100%

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[2]: Разработка javascript
От: Аноним  
Дата: 02.12.05 15:42
Оценка:
Здравствуйте, OnThink, Вы писали:

OT>Зависит от контекста использования. Задачу в студию!


Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.
Re[2]: Разработка javascript
От: Аноним  
Дата: 02.12.05 15:44
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Аноним wrote:


>> Может кто-то смог выработать успешные метотоды работы с javascript?

>> Поделитель плиз.

РД>Главное — правильный идеологический подход и достаточно условий для

РД>отладки. А то начнешь ковырять какой-нить fckEditor, а там в некоторых
РД>местах и алерт не поставишь, и document.write низя... приходится
РД>открывать отдельное окно и в него писать дебаг.

РД>А вообще javascript — это фигня,


Фигня. Но поддерживать ее — , злости не хватает.
Re[3]: Разработка javascript
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 02.12.05 15:49
Оценка:
А>Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.

Тогда кури AJAX.
... << RSDN@Home 1.2.0 alpha rev. 619>>
Re[4]: Разработка javascript
От: Аноним  
Дата: 02.12.05 15:54
Оценка:
Здравствуйте, OnThink, Вы писали:

А>>Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.


OT>Тогда кури AJAX.


Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес логике реализованной на javascript.
Re[6]: Разработка javascript
От: Joker6413  
Дата: 06.12.05 09:37
Оценка:
Здравствуйте, OnThink, Вы писали:

А>>>>Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.


OT>>>Тогда кури AJAX.


А>>Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес логике реализованной на javascript.


OT>Это дело надо разделять. Веб-формы — одно. Бизнес-логика совершенно другое.

OT>Я лично никогда бы бизнес-логику на жаваскрипте не стал писать (если не считать валидаторы), хотя не исключаю редких случаев, когда это действительно возможно.

Полностью согласен. Но таковы требования.
Re: Разработка javascript
От: Joker6413  
Дата: 06.12.05 09:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.

А>Нанять отдельного javascript программера мы не может и на это нет времени.
А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

То был я...
Re: Разработка javascript
От: MasterMind Россия  
Дата: 06.12.05 10:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.

А>Нанять отдельного javascript программера мы не может и на это нет времени.
А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

Это специфично для любого веб орриентированного приложения. тут проблема в том что если изначально правильно не сложиться понимаение того что должно быть то в будущем уйдёт куча времени.(для веба это намного болеекритично чем на обычном описании бизнц просессов — так как затрагивается интерфейс — наличие работы во многих броузерах) А вообще если уже набита рука то даже в яваксрипте можно суметь делать рефаткоринг кода и даже бизнес решений. Всё завсит от того насколько успешно написан первоначальные решения на яваскрипте. Боюсь что вам видимо придёться имено страдать некоторое время. Со врменем набъёте руки и всё будет нормально. По кранйе мере я тоже изначельно просто афигевай от сложившейся ситуация — сейчас на яваксрипт смотрю как на замечательный язык
Re[3]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 06.12.05 11:11
Оценка:
Аноним wrote:

> РД>А вообще javascript — это фигня,

>
> Фигня. Но поддерживать ее — , злости не хватает.

см выше.
в принципе не отличается от поддержки любой другой технологии... просто
со своими бзиками.

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[5]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 06.12.05 11:13
Оценка:
Аноним wrote:
> OT>Тогда кури AJAX.
>
> Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес
> логике реализованной на javascript.

100% согласен.
И начинать надо с "правильного" фреймворка чтобы когда дойдешь до
реализации самой бизнес-логики, не отвлекаться на сугубо джаваскриптовые
заморочки...

Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в
аяксовых веб-приложениях, можно платные?

BackBase радует возможностями, но тормозище....

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[6]: Разработка javascript
От: Joker6413  
Дата: 06.12.05 11:21
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Аноним wrote:

>> OT>Тогда кури AJAX.
>>
>> Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес
>> логике реализованной на javascript.

РД>100% согласен.

РД>И начинать надо с "правильного" фреймворка чтобы когда дойдешь до
РД>реализации самой бизнес-логики, не отвлекаться на сугубо джаваскриптовые
РД>заморочки...

Так проблема-то не в фреймворке, тут все понятно. Непонятно как организовать работу надо jscript заморочками.

РД>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в

РД>аяксовых веб-приложениях, можно платные?

Infragistics
Re[4]: Разработка javascript
От: Joker6413  
Дата: 06.12.05 11:22
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Аноним wrote:


>> РД>А вообще javascript — это фигня,

>>
>> Фигня. Но поддерживать ее — , злости не хватает.

РД>см выше.

РД>в принципе не отличается от поддержки любой другой технологии... просто
РД>со своими бзиками.

Не согласен, этнтропия jscript кода растет в вообще несяной прогрессии.
Re[2]: Разработка javascript
От: Joker6413  
Дата: 06.12.05 11:24
Оценка:
Здравствуйте, MasterMind, Вы писали:

MM>Здравствуйте, Аноним, Вы писали:


А>>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.

А>>Нанять отдельного javascript программера мы не может и на это нет времени.
А>>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

MM>Это специфично для любого веб орриентированного приложения. тут проблема в том что если изначально правильно не сложиться понимаение того что должно быть то в будущем уйдёт куча времени.(для веба это намного болеекритично чем на обычном описании бизнц просессов — так как затрагивается интерфейс — наличие работы во многих броузерах) А вообще если уже набита рука то даже в яваксрипте можно суметь делать рефаткоринг кода и даже бизнес решений. Всё завсит от того насколько успешно написан первоначальные решения на яваскрипте. Боюсь что вам видимо придёться имено страдать некоторое время. Со врменем набъёте руки и всё будет нормально. По кранйе мере я тоже изначельно просто афигевай от сложившейся ситуация — сейчас на яваксрипт смотрю как на замечательный язык


С языком проблем нет. Есть проблемы с поддержкой. Т.к. ошибки можно отлавить только когда данный участок кода отработает хотя бы раз.
Re[6]: Разработка javascript
От: ihatelogins  
Дата: 08.12.05 10:09
Оценка:
Здравствуйте, OnThink, Вы писали:

А>>>>Задача стара как мир — сложные веб формы. И вот заказчики хотя упростить их испльзование делая всякие javascript фичуры.


OT>>>Тогда кури AJAX.


А>>Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес логике реализованной на javascript.


OT>Это дело надо разделять. Веб-формы — одно. Бизнес-логика совершенно другое.

OT>Я лично никогда бы бизнес-логику на жаваскрипте не стал писать (если не считать валидаторы), хотя не исключаю редких случаев, когда это действительно возможно.

Валидаторы (aka constraints в БД) — это, можно сказать, столп "бизнес-логики".
Re[7]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 08.12.05 13:04
Оценка:
Joker6413 wrote:

> РД>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в

> РД>аяксовых веб-приложениях, можно платные?
>
> Infragistics

Дотнет...

а мне или платформонезависимую или для пхп надо.
Хотя щас вот ковыряю blueshoes — вроде ниче так...

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[7]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 08.12.05 13:15
Оценка:
РД>>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в
РД>>аяксовых веб-приложениях, можно платные?

J>Infragistics


Чем хорошь инфрагнистик? Не первый раз про него слышу видел но шокирующего впечатления не произвел
Re: Разработка javascript
От: VladiCh  
Дата: 08.12.05 15:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.

А>Нанять отдельного javascript программера мы не может и на это нет времени.
А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

JavaScript — сам по себе замечательный язык, если его правильно использовать. Он очень гибкий, там есть наследование, замыкания, которые в C# появились напирмер только с версии 2, Боюсь, что в основном его используют неправильно. Почитайте здесь например. Но разрабатывать на нем с нуля сложный гуй слишком трудоемко. Смотрите в сторону хорошей библиотеки типа этой.
Re[6]: Разработка javascript
От: VladiCh  
Дата: 08.12.05 15:39
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Аноним wrote:

>> OT>Тогда кури AJAX.
>>
>> Аяксом единым сыт не будешь. Проблема не в получении данных, а в бизнес
>> логике реализованной на javascript.

РД>100% согласен.

РД>И начинать надо с "правильного" фреймворка чтобы когда дойдешь до
РД>реализации самой бизнес-логики, не отвлекаться на сугубо джаваскриптовые
РД>заморочки...

РД>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в

РД>аяксовых веб-приложениях, можно платные?

РД>BackBase радует возможностями, но тормозище....


РД>--

РД>np: [foobar2000] not started

см. тут
Re[2]: Разработка javascript
От: VladiCh  
Дата: 08.12.05 15:47
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Здравствуйте, Аноним, Вы писали:


А>>Нанять отдельного javascript программера мы не может и на это нет времени.


А вот это зря... Без отдельного программера вы больше времени потеряете на обучение разработчиков тому, как правильно надо писать на JS (это хоть и не так сложно, но требует времени, т.к. концепция существенно отличается от mainstream-языков. Просто на нем действительно толком мало кто писать умеет правильно). Могу свои услуги предложить в качестве JavaScript-программера .
Re[7]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 09.12.05 10:15
Оценка:
VladiCh wrote:
> РД>BackBase радует возможностями, но тормозище....
>
> см. тут <http://www.bindows.net>

уже смотрел
+ идея супер — вин апи на джаваскрипте
— грузится долго
— в gecko кой-че не работает
— стоит как паровоз

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[8]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 10:40
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>VladiCh wrote:

>> РД>BackBase радует возможностями, но тормозище....
>>
>> см. тут <http://www.bindows.net>

РД>уже смотрел

РД>+ идея супер — вин апи на джаваскрипте
РД>- грузится долго
РД>- в gecko кой-че не работает
РД>- стоит как паровоз

2. грузится долго, но можно его за-gzipовать, будет грузиться в 10 раз быстрее. можно и динамически подгружать только то что нужно.

3. в gecko работает. не работает только в opera, да и то я думаю с opera 9 сделают поддержку.

4. это да, не очень дешево. если бы не цена, сам бы использовал . а так пришлось свою библиотечку писать, попроще, на аналогичных принципах.
Re[5]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 10:46
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, Роман Дубров, Вы писали:


РД>>Аноним wrote:


>>> РД>А вообще javascript — это фигня,

>>>
>>> Фигня. Но поддерживать ее — , злости не хватает.

РД>>см выше.

РД>>в принципе не отличается от поддержки любой другой технологии... просто
РД>>со своими бзиками.

J>Не согласен, этнтропия jscript кода растет в вообще несяной прогрессии.


Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.
Re[6]: Разработка javascript
От: Joker6413  
Дата: 09.12.05 11:51
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.


Очевидно не умею, так я точно не смогу:

var _biInPrototype=false;function _biExtend(fConstr,fSuperConstr,sName){_biInPrototype=true;var p=fConstr.prototype=new fSuperConstr;if(sName){p._className=sName;}
p.constructor=fConstr;_biInPrototype=false;return p;}
Object.isEmpty=function(o)
{for(var _ in o)
return false;return true;};Object.getKeys=function(o){var r=[];for(var i in o){r.push(i);}
return r};Object.getValues=function(o){var r=[];for(var i in o){r.push(o[i]);}
return r;};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(obj,fromIndex){if(fromIndex==null){fromIndex=0;}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}
for(var i=fromIndex;i<this.length;i++){if(this[i]===obj)
return i;}
return-1;};}
if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(obj,fromIndex){if(fromIndex==null){fromIndex=this.length-1;}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}
for(var i=fromIndex;i>=0;i--){if(this[i]===obj)
return i;}
return-1;};}
Array.prototype.contains=function(o){return this.indexOf(o)!= -1;};Array.prototype.copy=function(o){return this.concat();};Array.prototype.insertAt=function(o,i){this.splice(i,0,o);};Array.prototype.insertBefore=function(o,o2){var i=this.indexOf(o2);if(i== -1)
this.push(o);else this.splice(i,0,o);};Array.prototype.removeAt=function(i){this.splice(i,1);};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!= -1)
this.splice(i,1);};if(!Array.prototype.forEach){Array.prototype.forEach=function(f,obj){var l=this.length;for(var i=0;i<l;i++){f.call(obj,this[i],i,this);}};}
if(!Array.prototype.filter){Array.prototype.filter=function(f,obj){var l=this.length;var res=[];for(var i=0;i<l;i++){if(f.call(obj,this[i],i,this)){res.push(this[i]);}}
return res;};}
if(!Array.prototype.map){Array.prototype.map=function(f,obj){var l=this.length;var res=[];for(var i=0;i<l;i++){res.push(f.call(obj,this[i],i,this));}
return res;};}
if(!Array.prototype.some){Array.prototype.some=function(f,obj){var l=this.length;for(var i=0;i<l;i++){if(f.call(obj,this[i],i,this)){return true;}}
return false;};}
if(!Array.prototype.every){Array.prototype.every=function(f,obj){var l=this.length;for(var i=0;i<l;i++){if(!f.call(obj,this[i],i,this)){return false;}}
return true;};}
String.prototype.trim=function(){return this.replace(/(^\s+)|\s+$/g,"");};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.substr(1);};Function.READ=1;Function.WRITE=2;Function.READ_WRITE=3;Function.prototype.addProperty=function(sName,nReadWrite){var p=this.prototype;nReadWrite=nReadWrite||Function.READ_WRITE;var capitalized=sName.capitalize();if(nReadWrite&Function.READ)
{p["get"+capitalized]=function()
{return this["_"+sName];};}
if(nReadWrite&Function.WRITE)
{p["set"+capitalized]=function(v)
{this["_"+sName]=v;};}};function BiObject(){}

Re[2]: Разработка javascript
От: Joker6413  
Дата: 09.12.05 11:59
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Здравствуйте, Аноним, Вы писали:


А>>Вопрос. Заказчики настояли на широком использовании на клиенте javascript. У нас есть опыть его использования, но опыт этот сугубо негативный. Работа с непростыми скриптами напоминает войну с тараканами, исправляешь одну ошибку — появляется две, несмотря на то что разработчики грамотные.

А>>Нанять отдельного javascript программера мы не может и на это нет времени.
А>>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.

VC>JavaScript — сам по себе замечательный язык, если его правильно использовать.


Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.
Re[9]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 09.12.05 12:45
Оценка:
VladiCh wrote:
> 2. грузится долго, но можно его за-gzipовать, будет грузиться в 10 раз
> быстрее. можно и динамически подгружать только то что нужно.
очень даже может быть, но демка на сайте этого не делает

> 3. в gecko работает. не работает только в opera, да и то я думаю с opera

> 9 сделают поддержку.
во первых я ж не сказал что совсем не работает... работает но не все.
оперу фтопку, мне ее поддерживать не надо

> 4. это да, не очень дешево. если бы не цена, сам бы использовал . а так

> пришлось свою библиотечку писать, попроще, на аналогичных принципах.
а я щас blueshoes ковыряю...

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[7]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 09.12.05 12:48
Оценка:
Joker6413 wrote:
> Очевидно не умею, так я точно не смогу:
[skip]

и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А
если в чужом трудно разбираться — или бьютифаер в руки или конкретно в
этом случае пинать разработчиков — не зря ж такие деньги им плачены...

--
np: [foobar2000] not started
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[7]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 12:53
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, VladiCh, Вы писали:


VC>>Может, вы просто не умеете его готовить? . В сыром виде он действительно довольно некрасив. Посмотрите способы правильного приготовления например здесь.


J>Очевидно не умею, так я точно не смогу:


J>

J>var _biInPrototype=false;function _biExtend(fConstr,fSuperConstr,sName){_biInPrototype=true;var p=fConstr.prototype=new fSuperConstr;if(sName){p._className=sName;}
J>p.constructor=fConstr;_biInPrototype=false;return p;}
J>Object.isEmpty=function(o)
J>{for(var _ in o)
J>return false;return true;};Object.getKeys=function(o){var r=[];for(var i in o){r.push(i);}
J>return r};Object.getValues=function(o){var r=[];for(var i in o){r.push(o[i]);}
J>return r;};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(obj,fromIndex){if(fromIndex==null){fromIndex=0;}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}
J>for(var i=fromIndex;i<this.length;i++){if(this[i]===obj)
J>return i;}
J>return-1;};}
J>if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(obj,fromIndex){if(fromIndex==null){fromIndex=this.length-1;}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex);}
J>for(var i=fromIndex;i>=0;i--){if(this[i]===obj)
J>return i;}
J>return-1;};}
J>Array.prototype.contains=function(o){return this.indexOf(o)!= -1;};Array.prototype.copy=function(o){return this.concat();};Array.prototype.insertAt=function(o,i){this.splice(i,0,o);};Array.prototype.insertBefore=function(o,o2){var i=this.indexOf(o2);if(i== -1)
J>this.push(o);else this.splice(i,0,o);};Array.prototype.removeAt=function(i){this.splice(i,1);};Array.prototype.remove=function(o){var i=this.indexOf(o);if(i!= -1)
J>this.splice(i,1);};if(!Array.prototype.forEach){Array.prototype.forEach=function(f,obj){var l=this.length;for(var i=0;i<l;i++){f.call(obj,this[i],i,this);}};}
J>if(!Array.prototype.filter){Array.prototype.filter=function(f,obj){var l=this.length;var res=[];for(var i=0;i<l;i++){if(f.call(obj,this[i],i,this)){res.push(this[i]);}}
J>return res;};}
J>if(!Array.prototype.map){Array.prototype.map=function(f,obj){var l=this.length;var res=[];for(var i=0;i<l;i++){res.push(f.call(obj,this[i],i,this));}
J>return res;};}
J>if(!Array.prototype.some){Array.prototype.some=function(f,obj){var l=this.length;for(var i=0;i<l;i++){if(f.call(obj,this[i],i,this)){return true;}}
J>return false;};}
J>if(!Array.prototype.every){Array.prototype.every=function(f,obj){var l=this.length;for(var i=0;i<l;i++){if(!f.call(obj,this[i],i,this)){return false;}}
J>return true;};}
J>String.prototype.trim=function(){return this.replace(/(^\s+)|\s+$/g,"");};String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.substr(1);};Function.READ=1;Function.WRITE=2;Function.READ_WRITE=3;Function.prototype.addProperty=function(sName,nReadWrite){var p=this.prototype;nReadWrite=nReadWrite||Function.READ_WRITE;var capitalized=sName.capitalize();if(nReadWrite&Function.READ)
J>{p["get"+capitalized]=function()
J>{return this["_"+sName];};}
J>if(nReadWrite&Function.WRITE)
J>{p["set"+capitalized]=function(v)
J>{this["_"+sName]=v;};}};function BiObject(){}


Это самая примитивная обфускация JavaScript-ового кода, уменьшающая к тому же его размер .
Приведите его к нормальному виду и все будет более-менее понятно.
Хотя мне не очень нравятся некоторые частносит в bindows, но в целом идея весьма здравая.
Re[8]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 12:57
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Joker6413 wrote:

>> Очевидно не умею, так я точно не смогу:
РД>[skip]

РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А

РД>если в чужом трудно разбираться — или бьютифаер в руки или конкретно в
РД>этом случае пинать разработчиков — не зря ж такие деньги им плачены...

На самом деле в JavaScript'е нет классов, можно сделать только их эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не виртуальными функциями и даже ограничением видимости (public/private/protected), если очень хочется. Правда т.к. это все-таки эмуляция, создание этих псевдо-классов и тому подобные вещи происходят в рантайме, а т.к. язык очень слаботипизированный, то писать бизнес-логику на нем все же не очень удобно. Вот GUI — вполне.
А вообще обещают в будущих версиях Mozilla сделать поддержку JavaScript 2, он же ECMAScript 4, который уже реализован и в .NET (JScript .NET) и к примеру ActionScript 2 — это тоже ECMAScript 4. Там есть и типизация и классы и это вообще совсем другой язык.
Re[3]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 13:03
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, VladiCh, Вы писали:


VC>>Здравствуйте, Аноним, Вы писали:


VC>>JavaScript — сам по себе замечательный язык, если его правильно использовать.


J>Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.


Правильно — это используя "псевдоклассы", т.е. эмулчцию классов в JavaScript. На этих "псевдоклассах" можно построить любой сложности иерархию и работать с ним как с обычным ОО-языком типа C#, Java и т.п.
Ну и потом есть определенные приемы разработки в зависимости от того, какого типа приложение вам нужно. Если типа толстого клиента на JavaScript, то реализовать нормальный интерфейс удаленного вызова типа XML-RPC, SOAP и т.п. На эту тему можно долго разговаривать, если есть желание можно вынести в отдельный топик.
Re[10]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 13:31
Оценка:
Здравствуйте, Роман Дубров, Вы писали:


>> 3. в gecko работает. не работает только в opera, да и то я думаю с opera

>> 9 сделают поддержку.
РД>во первых я ж не сказал что совсем не работает... работает но не все.
РД>оперу фтопку, мне ее поддерживать не надо

Не работают там графики, диаграммы и т.п. Судя по их форуму, они собираются прикрутить их при помощи SVG, поддерживаемого в Firefox 1.5.

>> 4. это да, не очень дешево. если бы не цена, сам бы использовал . а так

>> пришлось свою библиотечку писать, попроще, на аналогичных принципах.
РД>а я щас blueshoes ковыряю...

посмотрел я этот blueshoes... чисто php-ориентированный + нет нормального javascript-фреймворка, все на каких-то заплатках построено.
Re[11]: Разработка javascript
От: VladiCh  
Дата: 09.12.05 13:32
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Здравствуйте, Роман Дубров, Вы писали:


VC>посмотрел я этот blueshoes... чисто php-ориентированный + нет нормального javascript-фреймворка, все на каких-то заплатках построено.


не, вру, вроде что-то более-менее есть, хотя подробно не разбирался.
Re[8]: Разработка javascript
От: Joker6413  
Дата: 11.12.05 12:32
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>Joker6413 wrote:

>> Очевидно не умею, так я точно не смогу:
РД>[skip]

РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?


С какой версии jscript они начинаются и с каким ie эта версия ставиться?

РД>А если в чужом трудно разбираться — или бьютифаер


о аштойта? дайте сцылу.
Re[4]: Разработка javascript
От: Joker6413  
Дата: 11.12.05 12:35
Оценка:
Здравствуйте, VladiCh, Вы писали:

J>>Увы... пока не определимся "как правильно" нет смысла обсуждать "неправильное" использование. Я пока могу говорить только об повышенной энтропии кода, как о факте. Чем это вызванно — особенностями языка или методом разработки я пока сказать не могу.


VC>Правильно — это используя "псевдоклассы", т.е. эмулчцию классов в JavaScript. На этих "псевдоклассах" можно построить любой сложности иерархию и работать с ним как с обычным ОО-языком типа C#, Java и т.п.


По этому поводу уже задал вопрос выше. (Последний раз пришлось серьезно работать со скриптом в 2002 году).

VC>Ну и потом есть определенные приемы разработки в зависимости от того, какого типа приложение вам нужно. Если типа толстого клиента на JavaScript, то реализовать нормальный интерфейс удаленного вызова типа XML-RPC, SOAP и т.п.


Не... этого не требуется.
Re[10]: Разработка javascript
От: VladiCh  
Дата: 12.12.05 08:35
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Здравствуйте, Joker6413, Вы писали:


Вообще JavaScript больше похож не на Java/C#/C++, а на такие языки как Perl или Python. Если вы хорошо разбираетесь в каком-нибудь из них, то и "правильное" программирование на JavaScript освоить будет несложно.
Re[10]: Разработка javascript
От: Joker6413  
Дата: 12.12.05 09:17
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Здравствуйте, Joker6413, Вы писали:


J>>Здравствуйте, Роман Дубров, Вы писали:


РД>>>Joker6413 wrote:

>>>> Очевидно не умею, так я точно не смогу:
РД>>>[skip]

РД>>>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?


J>>С какой версии jscript они начинаются и с каким ie эта версия ставиться?


VC>Практически с любой версии. Классов и соответственно наследования классов там нет, есть только объекты и наследование объектов на основе прототипов. Но тем не менее можно организовать псведоклассы и наследование псевдоклассов, просто для удобства работы.


VC>здесь


Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?

РД>>>А если в чужом трудно разбираться — или бьютифаер


J>>о аштойта? дайте сцылу.


VC>автоматический форматтер JavaScript-ового текста


VC>здесь


спасибо
Re[11]: Разработка javascript
От: VladiCh  
Дата: 12.12.05 10:44
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, VladiCh, Вы писали:


VC>>Здравствуйте, Joker6413, Вы писали:


J>>>Здравствуйте, Роман Дубров, Вы писали:


РД>>>>Joker6413 wrote:

>>>>> Очевидно не умею, так я точно не смогу:
РД>>>>[skip]

РД>>>>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?


J>>>С какой версии jscript они начинаются и с каким ie эта версия ставиться?


VC>>Практически с любой версии. Классов и соответственно наследования классов там нет, есть только объекты и наследование объектов на основе прототипов. Но тем не менее можно организовать псведоклассы и наследование псевдоклассов, просто для удобства работы.


VC>>здесь


J>Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?


Классов в JavaScript нет, как я уже несколько раз писал. Тм не менее есть наследование и возможность создавать "псевдоклассы". Наследование на основе прототипов есть в JavaScript начиная с версии 1.0 если я не ошибаюсь. То есть начиная с самых первых браузеров. Может быть насчет JS 1.0 я и ошибаюсь, но такая возможность точно появилась очень давно. В IE 5.0 стопроцентно она есть. Почитайте все-таки статейку по ссылке выше.
Re[11]: Разработка javascript
От: OnThink Россия http://vassilsanych.livejournal.com
Дата: 12.12.05 15:04
Оценка:
J>Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?

Достаточно. Машина без SP4 и IE6SP1 — практически не жилец.
... << RSDN@Home 1.2.0 alpha rev. 622>>
Re[13]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 12.12.05 16:20
Оценка:
Здравствуйте, Joker6413, Вы писали:


J>Читать надо MSDN!



доля правды в этих словах есть "Читать надо msdn"

Только классы все равно есть ( точнее их заменители )

function A()
{
this.BB = 10;
this.tralala = function() { alert("А вотЪ!");};
}
Re[13]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 12.12.05 16:48
Оценка:
Здравствуйте, Joker6413, Вы писали:

А еще вспомнилась фраза "Видишь суслика? ....."
Re[13]: Разработка javascript
От: VladiCh  
Дата: 13.12.05 10:31
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, VladiCh, Вы писали:


J>>>Ну так вот я тебе скажу, с IE 5.0 идет javascript в котором поддержки классов нет. А IE 5.0 идет с win 2000. Достаточно ли они устарели чтобы с ними не считаться?


VC>>Классов в JavaScript нет, как я уже несколько раз писал. Тм не менее есть наследование и возможность создавать "псевдоклассы". Наследование на основе прототипов есть в JavaScript начиная с версии 1.0 если я не ошибаюсь. То есть начиная с самых первых браузеров. Может быть насчет JS 1.0 я и ошибаюсь, но такая возможность точно появилась очень давно. В IE 5.0 стопроцентно она есть. Почитайте все-таки статейку по ссылке выше.


J>Читать надо MSDN!


J>

J>call MethodSee Also
J>Applies To: Function Object
J>Requirements
J>Version 5.5
J>Calls a method of an object, substituting another object for the current object.

J>call([thisObj[, arg1[, arg2[, [, argN]]]]])
J>Arguments
J>thisObj
J>Optional. The object to be used as the current object.
J>arg1, arg2, , argN
J>Optional. List of arguments to be passed to the method.
J>Remarks
J>The call method is used to call a method on behalf of another object. The call method allows you to change the object context of a function from the original context to the new object specified by thisObj.

J>If thisObj is not supplied, the global object is used as thisObj.

J>Requirements
J>Version 5.5


J>Вот и ответ.


Как это противоречит тому что я сказал выше? Про методы call и apply я не говорил, что они есть в JavaScript'е, который в IE 5.0.
Re[14]: Разработка javascript
От: VladiCh  
Дата: 13.12.05 10:39
Оценка:
Здравствуйте, __SPIRIT__, Вы писали:

__S>Здравствуйте, Joker6413, Вы писали:



J>>Читать надо MSDN!



__S>доля правды в этих словах есть "Читать надо msdn"


__S>Только классы все равно есть ( точнее их заменители )


__S>function A()

__S>{
__S> this.BB = 10;
__S> this.tralala = function() { alert("А вотЪ!");};
__S>}

Да нету там классов. Есть только объекты. Один объект может быть унаследован от другого, если привязать прототип к порождающей функции. Прототип объекта — это тоже объект. Если к примеру какого-то свойства/метода нет в объекте, то он ищется в прототипе, прототипе прототипа и т.д. вверх по цепочке. Получается иерархия наследования.
К примеру,

function A()
{
this.x = 0;
this.y = 1;
}

function B()
{
this.x = 2;
this.y = 3;
this.tralala = function() { alert("А вотЪ!");};
}

a.prototype = new B();

new A().tralala();

Вот вам и наследование без классов. Правда без call или apply сложно сделать виртуальные методы, но наследование и без них нормально работает.
Re[11]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 13.12.05 13:20
Оценка:
VladiCh wrote:
> РД>во первых я ж не сказал что совсем не работает... работает но не все.
> РД>оперу фтопку, мне ее поддерживать не надо
> Не работают там графики, диаграммы и т.п. Судя по их форуму, они
> собираются прикрутить их при помощи SVG, поддерживаемого в Firefox 1.5.
вот прикрутят — посмотрим

> посмотрел я этот blueshoes... чисто php-ориентированный + нет

дык это мне и надо

> нормального javascript-фреймворка, все на каких-то заплатках построено.

да ну...

--
np: [foobar2000] Машина времени — 10 Иди на север [paused]
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[9]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 13.12.05 13:22
Оценка:
VladiCh wrote:
> РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А
>
> На самом деле в JavaScript'е нет классов, можно сделать только их
> эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не
> виртуальными функциями и даже ограничением видимости
ну короче: ты меня понял

> А вообще обещают в будущих версиях Mozilla сделать поддержку JavaScript

> 2, он же ECMAScript 4, который уже реализован и в .NET (JScript .NET) и
если осел это поддерживать не будет — толку?

--
np: [foobar2000] Машина времени — 10 Иди на север [paused]
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[9]: Разработка javascript
От: Роман Дубров Украина Я@Blogspot
Дата: 13.12.05 13:24
Оценка:
Joker6413 wrote:
> РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал?
>
> С какой версии jscript они начинаются и с каким ie эта версия ставиться?

а при чем тут jscript by microsoft?
ну и см выше ответ Владича

> РД>А если в чужом трудно разбираться — или бьютифаер

>
> о аштойта? дайте сцылу.
code beautifier — форматировщик кода, чтоб читабельность повысить
их много и разных

--
np: [foobar2000] Машина времени — 10 Иди на север [paused]
Posted via RSDN NNTP Server 2.0
http://www.linkedin.com/in/romandubrov .::. http://roman-dubrov.blogspot.com/ .::. http://www.flickr.com/photos/romandubrov/
Re[14]: Разработка javascript
От: Joker6413  
Дата: 13.12.05 13:32
Оценка:
Здравствуйте, __SPIRIT__, Вы писали:

__S>Здравствуйте, Joker6413, Вы писали:



J>>Читать надо MSDN!



__S>доля правды в этих словах есть "Читать надо msdn"


__S>Только классы все равно есть ( точнее их заменители )


__S>function A()

__S>{
__S> this.BB = 10;
__S> this.tralala = function() { alert("А вотЪ!");};
__S>}

Это не классы это eventы и ссылки на функцию.
Re[14]: Разработка javascript
От: Joker6413  
Дата: 13.12.05 13:39
Оценка:
Здравствуйте, VladiCh, Вы писали:

VC>Как это противоречит тому что я сказал выше? Про методы call и apply я не говорил, что они есть в JavaScript'е, который в IE 5.0.


Тогда понятно...

Согласено талмуду:

здесь

Действительно вроде все должно работать.
Re[14]: Разработка javascript
От: Joker6413  
Дата: 13.12.05 13:43
Оценка:
Здравствуйте, VladiCh, Вы писали:

PS

Спасибо
Re[15]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 13.12.05 14:18
Оценка:
Здравствуйте, VladiCh, Вы писали:

Теперь скажи пожалуйста для тех кто в танке... чем этот не класс плох?
И почему его локально для скрипта нельзя считать классом?

Да это не ооп но это скрипт от него странно ждать большего по мойму этого вполне хватает!

Единственно отсутсвие типизации мешает сильно
Re[10]: Разработка javascript
От: VladiCh  
Дата: 13.12.05 14:39
Оценка:
Здравствуйте, Роман Дубров, Вы писали:

РД>VladiCh wrote:

>> РД>и что тут сложного? Или ты классы на джаваскрипте никогда не писал? А
>>
>> На самом деле в JavaScript'е нет классов, можно сделать только их
>> эмуляцию, правда довольно полноценную, с наследованием, виртуальными/не
>> виртуальными функциями и даже ограничением видимости
РД>ну короче: ты меня понял

>> А вообще обещают в будущих версиях Mozilla сделать поддержку JavaScript

>> 2, он же ECMAScript 4, который уже реализован и в .NET (JScript .NET) и
РД>если осел это поддерживать не будет — толку?

Для определенного типа приложений можно обойтись и без осла.
К примеру веб-интерфейс к какой-нибудь внутренней системе компании.
В принципе такую штуку как XUL и так можно для этого использовать, но существующий JavaScript все-таки не очень для этого прежназначен.
Re[16]: Разработка javascript
От: VladiCh  
Дата: 13.12.05 15:09
Оценка:
Здравствуйте, __SPIRIT__, Вы писали:

__S>Здравствуйте, VladiCh, Вы писали:


__S>Теперь скажи пожалуйста для тех кто в танке... чем этот не класс плох?

__S>И почему его локально для скрипта нельзя считать классом?

__S>Да это не ооп но это скрипт от него странно ждать большего по мойму этого вполне хватает!


__S>Единственно отсутсвие типизации мешает сильно


Да не плох он ничем. И кстати, это ООП, просто другого типа. Но от того, что он не плох, он ведь не становится классом? . Кстати, при помощи некоторых приемов можно сделать и псевдотипизацию, по крайней мере в runtime.
Re[17]: Разработка javascript
От: MasterMind Россия  
Дата: 19.12.05 12:38
Оценка:
This page shows how to create private variables and methods in classes in Javascript through the rather simple example of a person
http://phrogz.net/JS/Classes/OOPinJS.html
Re[18]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 20.12.05 18:50
Оценка:
Здравствуйте, MasterMind, Вы писали:

MM>This page shows how to create private variables and methods in classes in Javascript through the rather simple example of a person

MM>http://phrogz.net/JS/Classes/OOPinJS.html

Спасибо за то что освежил в памяти... А вот какой нить красивый вариант с перегрузкой функций и операторов есть? а еще красивый вариант виртуальных функций?
Re: Разработка javascript
От: corwin74  
Дата: 21.12.05 09:37
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.


Попробуйте google:jsUnit
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Разработка javascript
От: Аноним  
Дата: 21.12.05 12:50
Оценка:
Здравствуйте, corwin74, Вы писали:

C>Здравствуйте, <Аноним>, Вы писали:


А>>Может кто-то смог выработать успешные метотоды работы с javascript? Поделитель плиз.


C>Попробуйте google:jsUnit


А что он умеет если не секрет конечно?
Re[19]: Разработка javascript
От: VladiCh  
Дата: 26.12.05 12:57
Оценка:
Здравствуйте, __SPIRIT__, Вы писали:

__S>Здравствуйте, MasterMind, Вы писали:


MM>>This page shows how to create private variables and methods in classes in Javascript through the rather simple example of a person

MM>>http://phrogz.net/JS/Classes/OOPinJS.html

__S>Спасибо за то что освежил в памяти... А вот какой нить красивый вариант с перегрузкой функций и операторов есть? а еще красивый вариант виртуальных функций?


С перегрузкой методов я делал вариант, правда он сложный и не очень красивый .
Он основан на том, что читается сигнатура функции, из не вычленяются параметры, тип параметра определяется по префиксу имени параметра. Затем строится динамический прокси для этой функции, в котором в зависимости от типа параметров вызывается тот или иной перегруженный метод. В общем все достаточно сложно и небыстро работает, но работает.
Вы в курсе, что в JS можно динамически читать содержимое любого метода, можно строить на базе этого новый, можно при помощи замыканий строить цепочку проксей для любого метода, которые дополнительную работу делают.

Перегрузка операторов по-моему нереальна.

В JS все методы виртуальные, да и вообще нет разделения на виртуальные/невиртуальные, т.к. нет понятия класса.
Re[5]: Разработка javascript
От: DMitay Украина  
Дата: 10.02.06 13:56
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Здравствуйте, Роман Дубров, Вы писали:


РД>>Аноним wrote:


>>> РД>А вообще javascript — это фигня,

>>>
>>> Фигня. Но поддерживать ее — , злости не хватает.

РД>>см выше.

РД>>в принципе не отличается от поддержки любой другой технологии... просто
РД>>со своими бзиками.

J>Не согласен, этнтропия jscript кода растет в вообще несяной прогрессии.


В нашем проекте половина всего взаимодействия с клиентом реализовано на клиенте посредством скрипта, там и Аякс и активикс и прочее... и ничего, все нормально работает, отлаживаеться и сопровождаеться.... Нужно просто руку набить и все... я раньше тоже когда видел эти скрипты покрывался холодным потом, а сейчас все ок.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Разработка javascript
От: __SPIRIT__ Россия  
Дата: 11.02.06 11:19
Оценка:
Здравствуйте, Joker6413, Вы писали:

J>Это не классы это eventы и ссылки на функцию.


А какая разница как ты их назовешь?
Их ведь все равно можно юзать как классы!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Разработка JavaScript
От: jook Россия  
Дата: 13.02.06 09:20
Оценка:
J>... и к тому же появились интересные плагины (http://companions.jetbrains.com/refactor-j/ — рефакторинг JavaScript, ...)

Прошу прощения, тут ошибочка вышла — этот плагин (Refactor-J) к JavaScript никакого отношения не имеет.
Re[6]: Разработка javascript
От: Аноним  
Дата: 22.02.06 12:05
Оценка:
РД>Кстати кто подскажет какиенить библиотеки для создания юзер интерфейса в
РД>аяксовых веб-приложениях, можно платные?

http://www.backbase.com
Re[3]: Разработка javascript
От: WinniePoh  
Дата: 22.02.06 12:20
Оценка:
Здравствуйте, VladiCh, Вы писали:

А>>>Нанять отдельного javascript программера мы не может и на это нет времени.


VC>А вот это зря... Без отдельного программера вы больше времени потеряете на обучение разработчиков тому, как правильно надо писать на JS (это хоть и не так сложно, но требует времени, т.к. концепция существенно отличается от mainstream-языков.


А это лишь в очередной раз доказывает, что не фиг содержать серых мейнстримщиков. Бесполезный они народец. Лучше взять поменьше, подороже и покачественнее, таких, которые знакомы со всеми существующими парадигмами и легко и быстро разбираются в любом языке.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.