#javascript
Как можно добавить немного своего кода в функцию (не свою, а [native code]).
Пример кода:
Math.__defineGetter__('pow', function() {
console.log( 'USE: Math.pow' );
return function() { return 100500; };
});
То есть при вызове Math.pow(1,2); в консоль пишется 'USE: Math.pow' и возвращается
100500.
Надо сделать так, чтобы функция писала в консоль и продолжала свою "правильную" работу.
Я пишу "юзерскрипт" и хочу знать какие методы использует сайт. Не все, конечно, а,
например, только из Math.
for (var i in Math ) {
eval('Math.__defineGetter__( "' + i + '", function() { console.log( "USE Math.'
+ i + '" ); return 1; });');
}
Сейчас я могу это узнать, в консоль всё пишет, но функции не работают и вызывают ошибки.
Ответы
Ответ 1
Простой пример с Math.pow() для демонстрации идеи: var savedPow = Math.pow; Math.pow = function(number, exp) { console.log('USE: Math.pow'); return savedPow(number, exp); }; console.log(Math.pow(10, 3));
Комментариев нет:
Отправить комментарий