js变量陷阱

js声明变量 var 是局部变量 没有var 是全局  但是有陷阱 上代码

var a = 1;//居然是全局变量
        b= 2;//全局变量

        function c()
        {
            console.log(a);//1 
            console.log(b);//2;
            var b = 1111;//局部变量
            console.log(b);//1111
            var d = 3;//局部变量
            e = 4;//全局变量
            var f = {
                ff:{
                    d:a
                }
            };
            console.log(f.ff.d);//1

        }

        function g()
        {
            console.log(e);//4
            console.log(d);//报错
            
        }
        c();
        g();
/**

1
2
1
4
Uncaught ReferenceError: d is not defined

**/
原文地址:https://www.cnblogs.com/BeautyFuture/p/6015423.html