前端 - javascript 是否能像java一样去做 内存分析?
黄舟
黄舟 2017-04-10 15:05:11
0
2
647

比如,java中能对一个对象进行堆栈分析,初始化到调用,都能明确的堆、栈、静态块,数据块和代码块的定位。

class Cat{
    String name;
    public Cat(String n){
        this.name = n;
    }
}
Cat tom = new Cat("Tom");

如此后能够对具体到形参n的栈定位,name的堆定位类似。

然而javascript能不能做同样的分析呢?如:

function makeCounter() {
    var i = 0;
    return function () {
        console.log(++i);
    };
}
var counter = makeCounter();
counter();
counter();

不要使用作用域和闭包的解释,而是使用内存分析的方式来指出,i的位置(堆/栈),匿名函数的位置,counter的位置和makeCounter的位置等。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(2)
小葫芦

try it, may be help.

http://pythontutor.com

PHPzhong

理论上是可以,但是为什么要做? 一般脚本都用来写复杂的逻辑,编写好的api使你的脚本更贴近领域(domain)才是有用的。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template