我无法访问功能b()。如何在外面调用函数b()?
function a() {
function b() {
alert("I am in b function");
}
}
答案 0 :(得分:1)
除非您修改a
以使b
在a
之外可用,否则不能这样做。就目前而言,b
完全属于a
。
a
有很多方法可以让b
在其自身之外可用:
b
的对象
a
关闭a
引用的对象上的属性关闭 ...但现在a
,您无法访问b
。
以下是上述例子:
function a() {
return function b() {
alert("I am in b function");
};
}
var x = a();
x();
b
作为属性的对象:function a() {
return {
foo: function b() {
alert("I am in b function");
}
};
}
var x = a();
x.foo();
a
关闭var x;
function a() {
x = function b() {
alert("I am in b function");
};
}
x();
a
关闭var x = {};
function a() {
x.foo = function b() {
alert("I am in b function");
};
}
x.foo();
答案 1 :(得分:0)
你不能做下面的事吗
function a() {
b();
}
function b() {
alert("I am in b function");
}
答案 2 :(得分:0)
按照@ ArunPJohny的评论,您可以这样做:
var a = (function a() {
function b() {
alert("I am in b function");
}
return {
b: b
}
})();
a.b();