Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как повесить обработчик на событие "вызов функции"? (https://javascript.ru/forum/misc/13793-kak-povesit-obrabotchik-na-sobytie-vyzov-funkcii.html)

Kolyaj 16.12.2010 11:16

name == window.name

monolithed 16.12.2010 11:20

Цитата:

Сообщение от x-yuri
а что оно по-твоему должно выводить?

мне еще ни разу не приходилось использовать это свойство в работе, да и в справочниках я не нашел его описания, поэтому и присутствует недопонимание.

Kolyaj а где можно его описание почитать?

exec 16.12.2010 11:30

http://javascript.ru/window.name

Sweet 16.12.2010 11:46

monolithed,
наверное вы хотели увидеть это:
(function foo(){alert(arguments.callee.name)})();
?:)

monolithed 16.12.2010 12:02

Цитата:

Сообщение от exec
http://javascript.ru/window.name

спс, а я искал))

Цитата:

Сообщение от Sweet
наверное вы хотели увидеть это:

не, ну это я конечно ожидал)) просто до конца надеялся что это свойство не ссылается на Window

monolithed 16.12.2010 12:21

На самом деле тогда уж так:

(function foo(){
    alert(/\s\w+/.exec(arguments.callee.toString())[0]);
})();

(function(){
    alert(/\s\w+/.exec(arguments.callee.toString())[0]);
})();

Kolyaj 16.12.2010 12:22

monolithed,
во втором случае фэйл.

exec 16.12.2010 12:23

(function тратата(){
    alert(/\s\w+/.exec(arguments.callee.toString())[0])
})();


Всякое ведь бывает.

monolithed 16.12.2010 12:28

Для объекта
var object = {
    name: function() {
        for(var i in object) {
            if(object[i] == arguments.callee.toString()) {
                alert(i);
                break;
            }
        }
    }
};

object.name();

x-yuri 16.12.2010 19:14

Цитата:

Сообщение от monolithed
не, ну это я конечно ожидал)) просто до конца надеялся что это свойство не ссылается на Window

оно и не ссылается на window. Просто когда ты писал name - первый name, который он нашел был в window. А когда ты уточнил, где name искать, он выдал имя функции


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