List of global user defined functions in JavaScript?
Solution 1:
I'm assuming you want to filter out native functions. In Firefox, Function.toString()
returns the function body, which for native functions, will be in the form:
function addEventListener() {
[native code]
}
You could match the pattern /\[native code\]/
in your loop and omit the functions that match.
Solution 2:
As Chetan Sastry suggested in his answer, you can check for the existance of [native code]
inside the stringified function:
Object.keys(window).filter(function(x)
{
if (!(window[x] instanceof Function)) return false;
return !/\[native code\]/.test(window[x].toString()) ? true : false;
});
Or simply:
Object.keys(window).filter(function(x)
{
return window[x] instanceof Function && !/\[native code\]/.test(window[x].toString());
});
in chrome you can get all non-native variables and functions by:
Object.keys(window);