Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: prototype
 
 автор: Dimon.st   (01.03.2006 в 12:22)   письмо автору
 
 

Здравствуйте, я, в яве, скажем прямо разбираюсь плохо... А по сему объясните мне почему..

function b()
{this.e=3}

function tag_class() {this.q=10000000;}
nb=new b;
sp=document.createElement("SPAN");
if (typeof(nb)==typeof(sp)) {alert()} //одинаковый тип
tag_class.prototype=sp;
tag=new tag_class;

Почему при добавлении в прототип sp свойства/методы не добавляются, а при nb добавляются..??
Да и еще глупый вопрос: как тогда можно совместить два объекта, всмысле замены свойств и методов одного объекта на соответствующие другого, без цикла естественно?

   
 
 автор: 12345   (01.03.2006 в 16:20)   письмо автору
 
   для: Dimon.st   (01.03.2006 в 12:22)
 

1) если прототип не конструктор-функция, то он может быть только базовым классом (тоже конструктором). А sp - не конструктор.
2) присваиванием (объекты станут эквивалентами).

   
 
 автор: Dimon.st   (01.03.2006 в 17:41)   письмо автору
 
   для: 12345   (01.03.2006 в 16:20)
 

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

   
 
 автор: 12345   (01.03.2006 в 20:40)   письмо автору
 
   для: Dimon.st   (01.03.2006 в 17:41)
 

Вопрос стоял - все методы присвоить? Значит, присваиваем все:

a=new Object();
b=a;

Но при этом b становится тем же, что и а:

a.newProp=33;
alert(b.newProp); //даст 33

В общем, ответ есть, но он абсолютно бесполезен, объекты не разные.

   
 
 автор: Dimon.st   (01.03.2006 в 22:06)   письмо автору
 
   для: 12345   (01.03.2006 в 20:40)
 

Почти.... Да не совсем... "a" ведь тоже свойства имеет... Их бы совмещать надо.. с заменой.
Только почему-то мне кажется с нодом это не пройдет (т.е. передать все свойства какому-либо тэгу у меня не получится...) А как тогда быть, не циклом же прогонять все свойства??
Кстати насчет дублирования переменных... Эм... поэксперемнтировал чуть, а как их копировать то?? Только через передачу функции как аргумент, что ли..??

   
 
 автор: 12345   (02.03.2006 в 00:51)   письмо автору
 
   для: Dimon.st   (01.03.2006 в 22:06)
 

Я бы посоветовал вопросы по этой теме задать на http://forum.vingrad.ru/index.php?showforum=10 или http://xpoint.ru/forums/programming/javascript/misc/forum.xhtml - там есть специалисты. Я лично мало работал с объектами и ответа на данный вопрос не знаю.

   
 
 автор: Dimon.st   (02.03.2006 в 16:26)   письмо автору
 
   для: 12345   (02.03.2006 в 00:51)
 

спасибо за совет

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования