javascript基础笔记一函数

来源:互联网 发布:网络安全技术与应用 编辑:程序博客网 时间:2024/06/18 13:33

在javascript中,function才是函数的第一个需要注意理解的,当我们写下一段函数时,其实不过是建立了一个function类型的实体。

就像我们现在写下的类型实体一样:

<pre name="code" class="javascript">function Hello(){      alert("Hello");     }     Hello();     var Hello=function(){      alert("Hello");     }     Hello();



其实都是一样的,但是当我们对其中的函数修改的时候,会发现很奇怪的问题。
<span style="font-size:18px;"><script type="text/javascript">  function Hello(){         alert("Hello");  }  Hello();  function Hello(){         alert("Hello word");  }  Hello();</script></span>

我们会看到这样的结果,连续输出了两次Hello word ,这是因为javascript并非完全的按照顺序解释执行,而是解释之前对javascript进行"预编译",在预编译的过程中,也会把所有var变量创建,默认值为undefined,以提高程序的执行效率,也就是说上面的一段代码其实被JS引擎预编译为这样的形式:

<span style="font-size:18px;"><script type="text/javascript">    var=Hello=function(){         alert("hello");    }    Hello=function(){          alert("Helloworld");    }     Hello();     Hello();</script></span>
我们通过上面的代码很清晰看到,其实函数也是数据,也是变量,我们也可以对“函数”进行赋值(重赋值),当然,我们为了防止那样,可以那样写:

<script type=text/javascript>    function  Hello(){        alert("hello");    }    Hello();</script><script  type=text/javascript>     function Hello(){            alert("Hello  world")     }     Hello();    </script>


这样,程序被分成了两段,JS引擎也就不会把他们放到一起了。



0 0
原创粉丝点击