#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));
Комментариев нет:
Отправить комментарий