Имя объекта в классе JS

serglt

Анус, ой, Ахтунг
Имя объекта в классе JS

Доброго времени суток обитатели форума. Пишу класс на яваскрипте. Внутри этого класса появилась необходимость узнать имя объекта созданного из этого класса. Конечно можно при создании класс передавать в качестве параметра его имя.
Пример:

<script>
obj = new MyClass ("obj");
obj2 = new MyClass ("obj2");
</script>

Но это как то кривовато...
Может кто нить с этим сталкивался и подскажет как можно узнать имя объекта внутри класса?
Заранее благодарен.

-~{}~ 02.02.06 00:39:

Походу никто не в курсе.. А у меня мысля появилась.. Извещу вскоре..
 

kruglov

Новичок
А вообще в каких-нить языках такое возможно?

А если я сделаю
obj=new MyClass()
obj2=obj
то что будет именем объекта внутри obj2? obj или obj2?
 

serglt

Анус, ой, Ахтунг
kruglov
Будет obj (они же одинаковы) и изменение одного повлечет за собой изменение второго.

Loshadka
Ой для чего ето мне нужно :))

-~{}~ 02.02.06 12:19:

И вот как я это сделал:
PHP:
<html>
<head>
</head>
<script>
function MyClass ()
{
    this.get_obj_name = function () {
        var fl = true;
	    doc = document.getElementsByTagName ("html") [0];
	    html = doc.innerHTML;
	    match_arr = html.match (/\\\\s*[a-zA-Z_\\\\d]+\\\\s*=\\\\s*new\\\\s*MyClass/g);
	    for (i = 0; i < match_arr.length; i ++) {
	        obj_name = match_arr [i].match (/\\\\s*([a-zA-Z_\\\\d]+)\\\\s*=\\\\s*new\\\\s*MyClass/);
	        
	        eval ('fl = (typeof (' + obj_name [1] + ') != "undefined")');
	        if (fl)
	            eval ('fl = (this == ' + obj_name [1] + ')');
	        if (fl)
	            return obj_name [1];
	    }
	    return;
    }
    
}
oo1 = new MyClass ();
// oo5 = new MyClass ();
obj = new MyClass ();
alert (obj.get_obj_name ());
</script>
</html>
Поругайте если плохо :) Или подскажите свои идеи

-~{}~ 02.02.06 12:29:

s = slash s в регулярках не знаю почему убираются сдесь..

-~{}~ 02.02.06 23:46:

Похоже что тут это никому не интересно...
Или никто не знает..
 
Сверху