Показать сообщение отдельно
  #1 (permalink)  
Старый 15.03.2013, 16:44
Новичок на форуме
Отправить личное сообщение для potato Посмотреть профиль Найти все сообщения от potato
 
Регистрация: 07.07.2012
Сообщений: 9

Помогите разобраться.
Доброго времени суток.

Читаю книгу "Джон Рейсиг JavaScript Профессиональные приёмы программирования".
Не понял пример из книги. А именно строку с объектом name. Нужна ваша помощь.

Пример:

function attr(elem, name, value) { 
// Гарантирование допустимости предоставленного имени
	if ( !name || name.constructor != String ) return ''; 
// Определение, не относится ли это имя к тем самым«роковым» 
// именам
	name = { 'for': 'htmlFor', 'class': 'className' }[name] || name; /* Не понял вот эту строку. Что здесь происходит? */
// Если пользователь устанавливает значение, то также
	if ( typeof value != 'undefined' ) { 
// сначала установить быстрый способ
		elem[name] = value; 
// По возможности воспользоватьсяsetAttribute 
		if ( elem.setAttribute ) 
			elem.setAttribute(name,value); 
	} 
// Вернуть значение атрибута
	return elem[name] || elem.getAttribute(name) || ''; 
}
Ответить с цитированием