zoukankan      html  css  js  c++  java
  • js函数表达式和函数语句的区别

    区别主要有以下三点:

     (1)当函数语句被定义时,在同一个脚本代码中被优先考虑,因此,无论该函数在定义前还是定义后都可以被脚本调用。

         如: 

                        myFunction();

                        function myFunction(){}

             而函数表达式,只有被创建后才能被调用,

            如:myFunction();

                 var myFunction = function(){}

    (2)函数表达式可以被作为另外一些函数或方法的参数。如:

          setInterval(function(){};),111);

          这时函数表达式就作为参数了。

     (3)函数表达式和函数语句的区别还体现在内存管理和垃圾回收方面。

    函数表达式不像函数语句那样独立存在,把函数表达式赋给一个变量时,就会在代码中创建对该函数表达式的唯一引用。如果上述变量无法使用时,函数也将无法使用。如:

    var myFunction = function(){}

    myFunction();//可以调用

    myFunction = null;

    myFunction();//不可调用,导致错误

    函数语句则不同,它是以对象形式独立存在的,无法删除。如:

    function muFunction(0{}

    var f = myFunction;

    f();//可以调用

    myFunction();//可以调用

    f = null;

    myFunction();//可以调用

    f();//不可调用

    注意:如果不是特殊情况下,建议使用函数语句。

  • 相关阅读:
    spring的原理
    角色&权限
    Redis在springboot项目的使用
    项目接口的设计思想
    springboot项目注册接口
    Redis
    cookie&session
    python enumerate()
    原来,一直没有完全理解range()函数
    python zip()和zip(*)方法
  • 原文地址:https://www.cnblogs.com/ai3xiaoyi/p/3418497.html
Copyright © 2011-2022 走看看