如何在Javascript中阻止函数在另一个函数外部调用?

时间:2009-02-06 19:46:17

标签: javascript

我有一个javascript函数(function1),在调用实际弹出窗口并将用户连接到我们的另一个(遗留)函数(function2)之前,检查一些全局变量(用户可以连接,服务是否可用等)服务。我想阻止function2被调用到任何地方但是从function1。这可能吗?

作为一个廉价的解决方案,我想我可以从function1发出一个变量,并在执行前在function2中检查它。还有另外一种方法吗?有没有办法在javascript函数中找出调用元素/方法?

5 个答案:

答案 0 :(得分:4)

请在此处阅读:Crockford's method。在第一个函数内声明函数。

答案 1 :(得分:2)

答案 2 :(得分:0)

为什么不删除function2,将其整个内容移动到函数1?

然后你可以用发出错误信号的东西替换旧函数1。

答案 3 :(得分:0)

你可以在function1中移动function2,这样它就是function1的“私有”。查看"module pattern"

答案 4 :(得分:0)

var function1 = function() {
    var function2 = function() { alert('hi'); };

    function2();
};

function1(); // alerts "hi";

function2(); // error function2 is undefined