Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как определить, какой вызывается метод? (https://javascript.ru/forum/misc/28961-kak-opredelit-kakojj-vyzyvaetsya-metod.html)

develka 08.06.2012 17:48

Как определить, какой вызывается метод?
 
Как определить, какой вызывается метод?

develka 08.06.2012 18:02

Maxmaxmахimus,
Спасибо, но надо было уточнить мне. Имеется функция
function cat(){
this.name = function(){alert()};
this.green = function(){alert()};
}


И надо определить какой метод вызывается в cat() . Такое возможно в JS?

develka 08.06.2012 18:14

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 180106)
или ты имеешь ввиду чтобы при обращении к обьекту чрез точку обьект смотрел какое свойство запрашивается и сам решил что делать и что отдавать и отдавать ли вообще что-то и вообще как то ДЕТЕКТИЛ это все и принимал решения)?

чтобы при обращении к обьекту чрез точку обьект смотрел какое свойство запрашивается и сам решил что делать и что отдавать и отдавать - это возможно сделать?

develka 08.06.2012 18:53

Ну так как это можно сделать?

Раед 08.06.2012 19:04

геттеры/сеттеры если я вас правильно понял

Amphiluke 08.06.2012 19:14

Это возможно, но далеко не во всех реализациях.

// тестировать в FF
var smartObj = {
  __noSuchMethod__: function (name, args) {
    return "Вызван метод '" + name + "' с параметрами " + args;
  }
};
 
alert(smartObj.nonexistentMethod("LOL"));

Тут подробнее.

Раед 08.06.2012 19:28

Цитата:

Сообщение от Amphiluke
Это возможно, но далеко не во всех реализациях.

Javascript удивляет меня всё больше и больше..

dmitriymar 08.06.2012 19:44

От удивляет,человек хозяин кода,или код хозяин человека?
Или у вас там скайнет и вы его пытаетесь контролировать?
Посвятите плиз,а то мож мы и терминаторов не заметили,а они среди нас?)))

Раед 08.06.2012 19:47

Цитата:

Сообщение от Maxmaxmахimus
лисе в тестовых версиях

Уже не тестовых

Раед 08.06.2012 20:40

Значит лис как всегда всех опережает в таких новинках


Часовой пояс GMT +3, время: 13:04.