JS如何在外部调用函数内部的函数

在外部调用函数内部的函数是行不通的。因为每执行环境通过作用域链只能一级一级的往上查询函数,不能往下级搜索函数。
举个栗子:

var a=10;
    function numberone(){
        var b=20;
        function numbertwo(){
            var c=30;
            console.log(c);//由于函数不能在外部环境被调用,所以没有输出值
        }
        console.log(b);//20
    }
    numberone();
    numbertwo();//不能再外部环境搜索到函数

会出现以下错误:
在这里插入图片描述
那应该怎么做才能在外部环境调用函数内部的函数呢?
先在函数外部定义一个变量,用来接收函数内部的函数的函数名。如下:

//定义一个变量名
 var last;
    function numberone(){
        var b=20;
        function numbertwo(){
            var c=30;
            console.log(c);
        }
        last=numbertwo;
        console.log(b);
    }
    //先调用外部函数
    numberone();
    //再调用内部函数
    last();
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值