Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2018, 14:58
Аватар для Conus
Аспирант
Отправить личное сообщение для Conus Посмотреть профиль Найти все сообщения от Conus
 
Регистрация: 05.12.2015
Сообщений: 63

как получить имя var object = {} объекта
Задача получить собственное имя объекта объявленного глобально, оно есть 
среди прочих элементов объекта за caches но не логично брать просто номер индекса ведь он может изменится

 var mi = function(obj)
		{
                         for (var c in this) { document.body.innerHTML += c + '  '  + this[c]  +   '<br>' } 

                         this.index = Object.keys(this).length       //индекс собственного имени 
		         this.step = Object.keys(this)[this.index]  //собственное имя по индексу

					
		


 			return this
		} 


           mi()


вывод

caches [object CacheStorage]
mi function(obj) { for (var c in this) { document.body.innerHTML += c + ' ' + this[c] + '<br>' } this.index = Object.keys(this).length this.step = Object.keys(this)[this.index]
return this }

TEMPORARY 0
PERSISTENT 1
addEventListener function addEventListener() { [native code] }
removeEventListener function removeEventListener() { [native code] }
dispatchEvent function dispatchEvent() { [native code] }
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2018, 16:13
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,297

1. При strict var не добавляет свойство в глобал.
2. Объект может быть под десятком "имён".

А так:
var obj = {};

function mi(global, object){
  for (var key in global) 
    if(global[key] === object)
      return key;
  return false;
} 

alert(mi(window, obj))
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2018, 17:11
Аватар для Conus
Аспирант
Отправить личное сообщение для Conus Посмотреть профиль Найти все сообщения от Conus
 
Регистрация: 05.12.2015
Сообщений: 63

Да не особенно, так же явное указание самого объекта -всё равно что написать самому

можно так еще


function mi(obj)
		{       alert(this.Name())

 			
		} 

		 mi.prototype.Name = function(){ return mi.name;  }
         var mi = new mi()
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить родителя объекта? ilya2306 jQuery 1 21.11.2014 14:21
Помогите доделать калькулятор через ajax Музаффар Общие вопросы Javascript 4 20.12.2013 07:42
Кто с нодой может помочь? И какой редактор посоветуете? Антон Крамолов AJAX и COMET 14 22.11.2012 18:34
Как отловить баги в двух идентичных скриптах ddale jQuery 12 02.08.2012 18:42
Как сделать что б не подтормаживало. Сергей Постовит jQuery 3 19.05.2010 11:07