JS 如何调用函数内部的函数(可以这样的理解:通过一个函数可以调用另一个函数的内部函数)

2024-11-02 08:35:51
推荐回答(3个)
回答(1):

var obj = function() {
this.a = function(arg){alert(arg);}
this.b = function(arg){alert(arg+1);}
}
var fn = new obj;
fn.a('TEST');

回答(2):

两种方法:

  1. 实例化函数为对象

  2. 闭包返回内部值

解释为什么不能直接访问函数内的变量或内嵌函数

function foo(){
    var var1=18;
    function baz(){
        console.log(var1);
    }
}
baz(); // ReferenceError
foo.var1; // TypeError
foo.baz(); // TypeError

函数具有隔离内部值,即保护内部私有值或函数的能力。所不直接或间接访问。

方法一:实例化函数对象,略....。

方法二:闭包

function foo(){
    var val1=18;
    function baz(){
        console.log(val1);
    }
    return { //返回值对象实质上是一个 我们模块的公有API
        varl1:varl1,
        baz:baz
    }

}
var m=foo();
m.var1; // ok
m.baz(); // ok

回答(3):

可以用闭包