2011-09-06 2 views
1

У меня есть объект конфигурации, который может иметь свойство области контейнера и может и не передать, и я передаю его моей функции. Эта функция создает некоторые функции обратного вызова и применяет к ним свойство «scope». Я хочу, чтобы заставить эту функцию, чтобы обеспечить охват, даже если он на самом деле не указано - получить «это» ссылка звонящего, что-то вроде этого:arguments.callee.caller ... как получить ссылку «this» объекта-вызывающего?

function someFunc (config) 
{ 
    var scope = config.scope ? config.scope : arguments.callee.caller... (?); 
    config.preAction.apply(scope); 
} 

ли это на самом деле возможно?

+0

Возможный дубликат [получение «этого», с которым вызывался вызывающий вызов функции в JavaScript] (http://stackoverflow.com/questions/2941197/getting-the-this-that-a-functions-caller-was -called-with-in-javascript) –

+0

Спасибо за ваш ответ, но на самом деле в теме, которую вы связываете, люди не решали эту проблему без явной передачи «этой» ссылки на эту функцию. Кажется, это невозможно. – Bunneh

ответ

-1

Как вы считали в своем комментарии, ответ заключается в том, что это невозможно. JavaScript просто недостаточно интроспективен.

Смежные вопросы