首页 > 代码库 > javascript中变量命名冲突的问题

javascript中变量命名冲突的问题

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>        <script type="text/javascript">        // 变量命名冲突的问题:        // 1 两个变量或者是两个函数命名冲突        //         第二个var声明就被忽略掉,相当于是直接赋值        /*var num = 123;        var num = 456;        console.log(num); // 456        var num = 123;        num = 456;*/        /*fn();        function fn() {            console.log(1);        }        function fn() {            console.log(2);        }*/        // 2 如果一个变量跟一个函数命名冲突了        //         a. 如果这个变量声明了但是没有赋值,此时获取到的名字 指的就是函数        // console.log(f);        // var f;        // function f() {}        // console.log(f);        //         b. 如果一个变量声明并赋值了,此时,就看获取名字的位置:        //                 1 如果是在赋值之前,访问这个变量(名字),此时就是函数        //                 2 如果是在赋值之后,访问这个变量, 此时就是:变量的指        /*console.log(f);        var f = 123;        function f() {}        console.log(f);*/        // var f;        // function f() {}        // console.log(f);        // f = 123;        // console.log(f);        /*// 函数内部        function fn() {            // var fn = 123;            fn = 123;            console.log(fn);        }        fn();        console.log(fn);*/    </script></body></html>

 

javascript中变量命名冲突的问题