Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2010, 11:23
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Так удивлён $(id)[data]()
Обратите внимание на строчку if(type== "string") $(id)[data]();
Я просто даже не ожидал, что так можно , просто попробовал , а вдруг.

Вызов метода
$('div1').dialog('hide');


$.prototype.dialog = function(data)
{
 var id=this.id;
 type= typeof data;
 if(type== "string") $(id)[data](); // Вот это место удивило
return this;
}


А вот объявление метода hide
$.prototype.hide = function() // Скрыть элемент Пример: $('leftmenu').hide();
{
 var id = this.id;
 $(id).css('display','none');

return this;
}
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2010, 13:36
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,871

фантастика
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2010, 13:52
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

mycoding,

доступ к свойствам может осуществляться в точечной и скобочной нотациях. Первый способ используется, когда имя свойства заранее известно (либо, когда имя свойства - не идентификатор), второй - позволяет формировать имена свойства динамически. А далее, просто вызов функции.

var foo = {
  bar: function () {}
};

foo.bar();
foo['bar']();

var barName = 'bar';
foo[barName]();

foo['b' + 'ar']();
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 20.01.2010 в 14:38.
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2010, 17:25
Аватар для mycoding
NodeJS developer - ушел
Отправить личное сообщение для mycoding Посмотреть профиль Найти все сообщения от mycoding
 
Регистрация: 06.01.2010
Сообщений: 1,022

Просто так необычно ))) , но так удобно )))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery не так работает на сервере dial jQuery 2 19.11.2009 14:19
Объясните мне что я делаю не так. Yanub Общие вопросы Javascript 10 24.08.2009 12:04
Можно ли сделать так... Абум Общие вопросы Javascript 1 04.07.2009 17:49
Хорошо ли так делать? Octane Общие вопросы Javascript 2 22.09.2008 20:44
Что не так? giGnet Общие вопросы Javascript 8 23.06.2008 21:51