一些关于函数与变量的预处理和执行的事

来源:互联网 发布:linux应用软件 编辑:程序博客网 时间:2024/06/08 18:05
<!DOCTYPE html><html lanf2="en"><head>    <meta charset="UTF-8">    <title>一些关于函数与变量的预处理和执行的事</title></head><body>    <script>        alert(f1)        function f1(){//执行这个            alert(2);        }        function f1(){            alert(1);        }        //预处理阶段时函数是忽视替换的,而变量是替换的。        //上面未定义之前就使用是属于预处理阶段的,函数是忽视替换。所以显示的是第一个。        function  f2(){            alert(3)        }        function f2(){ //执行这个            alert(4)        }        alert(f2)        //处理阶段时,上面这相当于重新赋值。        //上面这个是正常的处理阶段,相同的会替换,函数和变量会置顶而且函数比变量的置顶等级高。        alert(f3)        var f3=function (){            alert(6)        }        function f3(){//执行这个            alert(5)        }        //预处理阶段时函数是忽视替换的,而变量是替换的。函数等级比变量高。        //上面未定义之前就使用是属于预处理阶段的,函数是忽视替换。函数会替换掉变量。       var  f4=function (){//执行这个        alert(7)       }       function f4(){        alert(8)       }      alert(f4)      //相当于处理阶段时,上面这相当于重新赋值。      //上面这个是正常的处理阶段,相同的会替换,而且函数比变量的置顶等级高。而变量会在下面,所以这个相当于重新赋值。      alert(f5)        var f5=function (){            alert(9)        }        var f5=function (){//执行这个,但是是undefined            alert(10)        }         //预处理阶段时函数是忽视替换的,函数指向引用,变量是undefined        //上面未定义之前就使用是属于预处理阶段的,函数指向引用,变量是undefined           var f6=function (){            alert(11)        }        var f6=function (){//执行这个            alert(12)        }        alert(f6)       //相当于处理阶段时,上面这相当于重新赋值。      //上面这个是正常的处理阶段,相同的会替换.    </script></body></html>
阅读全文
0 0
原创粉丝点击