javascript 函数声明和函数表达式

本文探讨了JavaScript中函数声明与函数表达式的区别。通过示例说明了函数声明的提升特性,以及函数表达式需要等到赋值完成后才能调用的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript 函数声明和函数表达式

<script type="text/javascript">
    function ftn01(){//函数声明
       console.log("I am ftn01!");
    }
    var ftn02 = function(){//函数表达式
        console.log("I am ftn02!");
    }
</script>    
  1. 在同一个作用域内,不管函数声明在哪里定义,函数声明的函数都可以进行调用。而函数表达式的值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。
    ftn01();//===>ture
    function ftn01(){//函数声明
    console.log(“I am ftn01!”);
    }

    ftn02();//===>false
    var ftn02 = function(){//函数表达式
    console.log(“I am ftn02!”);
    }

  2. //例如1:(报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后)
    fnName();
    var fnName = function(){
    alert(‘Hello World’);
    }
    //例如2:(正常,函数表达式后面加括号,当JavaScript引擎解析到此处时能立即调用函数)
    var fnName = function(){
    alert(‘Hello World’);
    }();
    //例如3:(报错,JavaScript引擎只解析函数声明,忽略后面的括号,函数声明不会被调用)
    function fnName(){
    alert(‘Hello World’);
    }();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值