《javascript模式--by Stoyan Stefanov》书摘--函数

本文深入探讨JavaScript中函数的命名属性及函数的提升机制。通过具体示例解释了函数声明与函数表达式的区别,并展示了在不同情况下函数如何被解析。

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

三、函数

1、函数的命名属性

//   IE下不支持name属性
var foo = function bar () {
    //   todo 
};
foo.name;              //    "bar"

 

2、函数的提升

 

function foo () {
    alert("global foo")
}

function bar () {
    alert("global bar")
}

function whoIsMe () {
    console.log(typeof foo);   //  输出“fuction”
    console.log(typeof bar);  //  输出“undefined”
    
    foo();    //  'local foo'
    bar();     //  TypeError: bar is not a function

    //  函数声明
   //   变量'foo'以及其实现者被提升
    function foo() {
        alert("local foo");
    }

    //   函数表达式
   //   仅变量'bar'被提升
   //   函数实现并未被提升
    var bar = function (){
        alert("local bar");
    }
}
whoIsMe();

 

 

 

转载于:https://www.cnblogs.com/liubei/p/JavascriptModeLog3.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值