Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #91 (permalink)  
Старый 06.04.2009, 12:51
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от kefi
Где Вы создаете тело? Создание тела, например, вот :
И там, и там - "тело". Если это сложно осознать, могу лишь предложить дальше читать о JS, в частности, стандарт.
__________________
Тонкости ECMAScript
Ответить с цитированием
  #92 (permalink)  
Старый 06.04.2009, 13:07
Кандидат Javascript-наук
Отправить личное сообщение для kefi Посмотреть профиль Найти все сообщения от kefi
 
Регистрация: 12.03.2009
Сообщений: 148

Цитата:
И там, и там - "тело"
Вы слово "создание" заметили? В Вашем примере тело уже статично создано выше программистом, написавшим код тела, в моем примере - программа создает это тело в зависимости от внешних для программы условий. Есть разница?
Ответить с цитированием
  #93 (permalink)  
Старый 06.04.2009, 13:53
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от kefi
var A=new Function("a", "b", "this."+ТоЧтоВышеВвелПользо ва тель+"; return a + b" );
var A = function (a, b) {
  this['ТоЧтоВышеВвелПользователь']; // если, конечно, у Вас есть такое свойство/метод
  return a + b;
};


Сути это не меняет, в обоих случаях - динамические функции (FE), создаваемые в рантайме (только в случае с new Function еще и [[scope]] будет только глобальный).
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 06.04.2009 в 14:12.
Ответить с цитированием
  #94 (permalink)  
Старый 06.04.2009, 20:45
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

'Function' парсит/eval-ит аргумент, создавая тело и проч., если именно эта eval-ная динамика подразумевается (новый агрумент -> новое тело -> новая функция), то в этом смысле обычная прописанная FE - вариант статичный.
Ответить с цитированием
  #95 (permalink)  
Старый 06.04.2009, 21:15
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Zeroglif, ну да (хотя, тело можно и проeval-ить).
__________________
Тонкости ECMAScript
Ответить с цитированием
  #96 (permalink)  
Старый 07.04.2009, 18:19
Кандидат Javascript-наук
Отправить личное сообщение для kefi Посмотреть профиль Найти все сообщения от kefi
 
Регистрация: 12.03.2009
Сообщений: 148

Возник вопрос :
Интересно, в Javascript реализуется корректно множественное наследование ? Где-то можно увидеть описание, желательно понятным языком ?
Ответить с цитированием
  #97 (permalink)  
Старый 07.04.2009, 19:00
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Сообщение от kefi
Интересно, в Javascript реализуется корректно множественное наследование ?
А оно как-то реализуется, чтобы спрашивать про корректность ?
Ответить с цитированием
  #98 (permalink)  
Старый 07.04.2009, 19:25
Кандидат Javascript-наук
Отправить личное сообщение для kefi Посмотреть профиль Найти все сообщения от kefi
 
Регистрация: 12.03.2009
Сообщений: 148

Сообщение от Zeroglif
А оно как-то реализуется, чтобы спрашивать про корректность ?
Хороший ответ. Я сам-то вначале задал вопрос, а потом подумал о таком возможном ответе. Я могу сказать, что - не знаю. Но :
1) Хотел бы узнать, как это сделано в C++, поскольку тоже не знаю, как там, но термин оттуда слышал.
2) Хотелось бы услышать , как кто себе это представляет .
Ответить с цитированием
  #99 (permalink)  
Старый 07.04.2009, 20:38
...
Отправить личное сообщение для Zeroglif Посмотреть профиль Найти все сообщения от Zeroglif
 
Регистрация: 09.03.2008
Сообщений: 216

Сообщение от kefi
как кто себе это представляет
Если говорить о SELF-e, откуда JS зачерпнул свои прототипы, то там: "SELF’s inheritance system supports multiple inheritance by allowing an object to have more than one parent." В JS один или "more than one"? Один.
Ответить с цитированием
  #100 (permalink)  
Старый 07.04.2009, 20:50
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

"Примеси" (обычным расширением). Но физически это, всё-же, расширение, а не ссылки на объект-"примесь" (как, например, в Ruby). Примеси позиционируются как альтернатива множественному наследованию.

В Java, альтернатива - интерфейсы, реализация которых, - есть полное описание (имплементация) методов этих интерфейсов; в JS того же можно добиться обычным написанием этих методов (или "подмешиванием").

update:

Если "js-кроссдвижковость" не столь важна (а именно - код пишется под Mozilla'вцев, Spider Monkey), то можно подключить механизм с __noSuchMethod__, в котором устроить нужную диспетчеризацию по дополнительным родителям (в __noSuchMethod__ управление передастся, когда вся цепь прототипов будет просмотрена, и нужный метод не будет найден).
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 07.04.2009 в 21:41. Причина: дополнения
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Приглашаем специалиста по JavaScript. Мск, от 75 000 руб. arturus Работа 30 14.01.2009 02:30
JavaScript Developer, Санкт-Петербург (2000 - 2500 $) lampa Работа 3 26.08.2008 15:41
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43