js 外部调用 嵌套函数

2022-11-28 15:35:53 浏览数 (2)

 在函外部直接调用函数的内部函数是不可以的 ,因为是向外查找的  所以不能直接内部函数

代码语言:javascript复制
function one() {
            function two() {
                var b = 30;
            }
        }
     
        one();
     
        two();

即使先调用外部函数也不可以

找不到函数

如果要直接调用内部函数可以把函数赋值给一个全局变量

将内部函数值赋给外部定义的全局变量

代码语言:javascript复制
  //定义一个变量名
        var b = 20;
        var a;
        function one() {
            function two() {
                var b = 30;
                console.log(b);
            }
            a = two
            console.log(b);
        }
        //先调用外部函数
        one();
        //再调用内部函数
        a();

或者   直接赋值a也是可以调用的

代码语言:javascript复制
    //定义一个变量名
        var b = 20;

        function one() {
            a = function () {
                var b = 30;
                console.log(b);
            }
            console.log(b);
        }
        //先调用外部函数
        one();
        //再调用内部函数
        a();

结果都是

也可以这样调用window.onload里的函数

代码语言:javascript复制
  var a;
        window.onload = function () {
            function q() {
                alert("document")
            }
            a = q
            button = document.getElementsByTagName('button')[0]
            button.onclick = function () { b() }
        }
        function b() {
            a()
        }

0 人点赞