Memory usage is usually a mysterious business, something you leave to the compiler or interpreter - until that is things get tough. If you are writing a mobile app for example how much memory everything is using suddenly becomes important.
Firefox has been adding debugging tools for some time and even issues a special development edition. The new memory tool in the developer edition 44 takes a snapshot of everything in memory and creates a tree/table categorizing use into:
Functionobjects and DOM nodes
There is also a facility to view exactly where heap allocations occur in your program. The Allocation Stack view lists your function in order of the amount of memory they allocate. This is hierarchical so you see the total memory used by the function including any functions it might call.