使用chrome控制台打断点可以看到函数执行时候的scope这是很早之前就知道的。

但使用console.dir也可以查看到函数的scope却是今天调试时的意外收获。

调试代码:

<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
    <title>test</title>
</head>
<body>
<script type="text/javascript">
var t1=1;
var a=function a(){
    var t2=2;
    var f2=function(){};
    var b=function b(){
        var t3=3;
        var c=function c(){
            var t4=4;
            return function(){
                var t5=5;
                //console.log(t1,t2,t3,t4);
                f2();
            };
        }
        return c();
    };
    return b();
};
var p=a();
var q=function(){};
q.prototype = p;
console.dir(q);
</script>
</body>
</html>
View Code

相关文章: