Re[3]: Новый browser и JavaScript
От: Andir Россия
Дата: 08.12.04 06:24
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Я не понимаю зачем нужно было вводить отдельное свойство prototype.


function MyObjectBase(){}

MyObjectBase.prototype = {} // Some prototype;

function MyObject(){}

MyObject.prototype = new MyObjectBase(); // Наследование
MyObject.prototype.NewFunction = function() {} // Some new functionality


Прототипирование это, что каждый объект создаётся по некоторому прототипу, в том числе и наследование реализуется через прототипирование.

Далее динамическое расширение существующего объекта тоже возможно только через прототипы.

Плюс я понять не могу, о чём ты говоришь, когда про функции объекта говоришь:

function MyObject() {/* конструктор объекта */ }

// Прототип объекта
MyObject.prototype = 
{
  field = 100, // default value
  MyFunction: function() { print(this.field); } 
}

var myObj1 = new MyObject(); // Cоздаём новый экземпляр объекта
myObj1.field = 1;

var myObj2 = new MyObject(); // Cоздаём новый экземпляр объекта
myObj2.field = 2;

myObj1.MyFunction(); // Печатает 1
myObj2.MyFunction(); // Печатает 2

myObj2.MyFunction = function() { print("Hello World!");} /* Переопределяем функцию экземпляра */

myObj2.MyFunction(); // Печатает Hello, World!


Как такое реализовать без прототипов я даже не представляю. Приведи пример, может я неправильно понимаю ?

CS>Вот я и спрашиваю этим кто-то реально пользуется.

CS>Кто-нибудь может привести фрагмент реального скрипта со словом prototype?

Я в исходники выкладывал EventFramework ...

A>>Отступление: А дебаггер будет? Мне очень нравиться DomInspector из мозиллы ...


CS>Там не только дебаггер будет. Планируется CSS inspector:

CS>При наведении мыши на элемент можно будет увидеть все его CSS атрибуты с конкретным указанием
CS>из какого definition/css конкретное свойство каскадировалось. И еще много чего на эту тему.
CS>Броузер позиционируется как инструментальный.

Бороться с мозиллой боюсь на этом фронте будет тяжеловато

С Уважением, Andir!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.